-
필요한 모든 파일을 만들어줌
- tab별로 총 4개의 html, js파일 만듦
-
문제점
- 중복코드
- 페이지 이동시마다 계속 새로운 파일을 불러와야함 => 화면 깜박거림 발생, 렌더링 느림
- 중복코드는 component로 묶어주기
- 최상위 app.js에서 각 모듈을 import 하고 상태관리 해줌
- 상태관리 : 상태를 효율적으로 관리하는 것으로, 변경된 부분만 바꾸므로 불필요한 리렌더링을 막음 => 성능 향상
- React와 비슷하게 state와 setState 사용
- state : 변화하는 데이터
- 상태관리 : 상태를 효율적으로 관리하는 것으로, 변경된 부분만 바꾸므로 불필요한 리렌더링을 막음 => 성능 향상
-
라우팅 : 웹사이트 내에서 웹주소 URL을 특정 페이지에 연결하는 과정으로 페이지 이동 시, 요청한 페이지를 반환하고 URL뒤에 주소가 변경된다
-
history API 사용
- 바닐라 자바스크립트는 자체적으로 제공하는 라우팅이 없으므로 history API 사용
- history 전역 객체를 통해 브라우저
세션 히스토리(현재 페이지가 로드된 탭 또는 방문한페이지)
에 대한 접근을 제공한다. 이를 통해 방문기록을 앞 뒤로 탐색할 수 있다.
history.back(); //방문 기록 뒤로 이동 history.forward(); // 방문 기록 앞으로 이동 //브라우저 세션 기록에 항목 추가 history.pushState(state,title,URL); //popstate 이벤트 window.addEventListener("popstate",(e)=>{}) //=>뒤로가기,앞으로 가기 등의 이벤트로 히스토리 API를 통해 브라우저 히스토리가 변경될 때마다 발생함 //=>팝스테이트 이벤트가 발생하면 주소의 슬래시 뒤쪽에 작성된 값에 알맞은 스테이트를 업데이트 해주어야 함
-
express로 기본적인 웹 서버 설정 및 라우팅 오류 수정
-
=>node.js의 기능을 확장해서 더욱 간결하고 효율적으로 웹서버를 개발할 수 있게 도와주는 프레임워크로 라우팅, 요청 처리, 응답관리를 쉽게 처리할 수 있다