Vue를 이용하여 SPA를 개발할 수 있다

SPA는 Multi-page App에 비하여 굉장히 빠른 속도를 제공함으로써 native app을 사용하는 것 같은 User Experience를 제공한다

기존에 Web에 관심이 없던 필자도 Vue와 SPA를 통해 Web에 흥미를 가지게 되었다

그정도로 SPA는 강력한 웹 개발 패러다임?이다


Vue로 SPA를 구현하려면

Vue-router가 필요하고, Server-side가 아닌 Client-side에서 rendering과 routing이 이루어져야한다


기본적인 개발방법은 HTML 파일에 <script> 태그로 vue 라이브러리를 로드하고, 코드를 작성하는 것이다

이것은 매우 간단한 페이지를 작성하는데에는 효과적이지만, reusability, 코드관리/유지보수 측면에서 매우 비효율적이다


그래서 HTML 파일에서는 vue 사용법 정도만 매우 간단하게 익히고, 

실질적인 개발은 vue-loader을 이용하여 single file component에서 진행하는 것이 좋아보인다

vue-loader는 webpack(build tool)의 plug-in같은 존재이고, vue-CLI를 통해 사용할 수 있다

그리고 vue-CLI는 npm을 통해 설치할수 있다


npm install -g vue-cli

vue init webpack-simple myapp1


위 커맨드를 통해 프로젝트를 생성하고 src/main.js 파일을 보았다

new Vue(...) 안에 render: h => h(App) 라는 코드가 있을것이다


h => h(App)은 lambda이다

render의 형식은 아래와 같다


render: function (createElement) 

return createElement(App); 

}


즉 h == createElement이고, h(tag, body) 형태로 사용한다

단 h(vue_single_file_component)의 형태로 사용할 경우, component의 <template>이 render 된다

https://alligator.io/vuejs/introduction-render-functions/


추가작성예정



WRITTEN BY
hojongs
블로그 옮겼습니다 https://hojongs.github.io/