레퍼런스 :

a. History API + SPA 튜토리얼 https://www.youtube.com/watch?v=ZleShIpv5zQ a-1. pushState docs https://developer.mozilla.org/en-US/docs/Web/API/History/pushState a-2. popState docs https://developer.mozilla.org/en-US/docs/Web/API/Window/popstate_event b. AI에게 질문 타임 https://chat.openai.com/chat c. type=”module” / express + SPA 튜토리얼 https://www.youtube.com/watch?v=6BozpmSjk-Y https://www.youtube.com/watch?v=OstALBk-jTc

<aside> 💡 레퍼런스와 함께 vanilla JS로 Single-Page Application을 구현해봅니다!

간단한 웹사이트를 구현할 때,

React와 같은 라이브러리를 사용하는 것이 과한 방법일 수 있습니다.

전역으로 관리할 데이터가 적을 때

Redux를 사용할 필요성이 없는 것과 같은 맥락입니다.

</aside>

환경!🙂

<aside> 💡 javsScript, history API, express

</aside>


<aside> 🗒️ 목차

</aside>

JavaScript로 SPA 구현하기

레퍼런스 A : History API

기본적인 구현 방법, 설명과 함께 만들기!

  1. SPA가 출력될 root div 만듦

    <!DOCTYPE html>
    <html lang="ko">
      <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>Document</title>
      </head>
      <body>
        **<div id="root">**
          **<nav id="main-nav" class="sidebar"></nav>**
          <div id="main-page"></div>
        </div>
      </body>
    </html>
    
  2. route.js

  3. index.htmlroute.js 불러오기

  4. handleLocation 핸들러 추가

  5. window.onpopstate