18. 1.브라우저가 자바스크립트로 그려야 할 내용을 서버에서 미리 그려서 보여줍니다.
2.기존 방식 + SPA(Single Page Application) 두가지 장점을 모두 누릴 수 있습니다.
Server Side Rendering
Server Side Rending이 뭐지?
21. 1.Node.js
1.ssr.vuejs.org/ko 를 보며 한땀한땀 구현
2.Nuxt.js 사용
2.비 Node.js
1.v8 엔진 모듈 사용
2.헤드리스 브라우저 사용
Server Side Rendering
서버에서 자바스크립트를 동작시키는 방법
22. 1.Node.js
1.ssr.vuejs.org/ko 를 보며 한땀한땀 구현
2.Nuxt.js 사용
2.비 Node.js
1.v8 엔진 모듈 사용
2.헤드리스 브라우저 사용 -> 말도 안되는 방식 (...)
Server Side Rendering
서버에서 자바스크립트를 동작시키는 방법
23. 1.Node.js 환경이고 레거시코드가 있을 때 적합한 방식.
2.Frontend만 작업한다고 하면 Nuxt를 바로 도입하는게 더 낫습니다.
Server Side Rendering
ssr.vuejs.org/ko 를 보며 한땀한땀 구현
24. 1.SSR 과 관련된 모든 것이 적용된 Vue Framework.
2.SSR로 한땀한땀 구현하다 보면 결국 최종 종착지가 Nuxt라는 이야기가 많음.
3.신규 프로젝트라면 이 방식을 무조건 추천.
Server Side Rendering
Nuxt.js
25. 1.v8 엔진은 c++로 되어있고 해당 모듈을 구동하는 라이브러리를 이용.
2.과거에는 이 방식이 동작하지 않았지만 vue 2.5 버전 부터 지원.
https://gist.github.com/yyx990803/9bdff05e5468a60ced06c29c39114c6b#environment-agnostic-
ssr
3.PHP의 경우 V8js(github.com/phpv8/v8js)을 통해서 가능.
(위 버전 업데이트가 일주일(2017.10.21 기준) 되었다는 점을 고려하면 적용 사례가 없음)
Server Side Rendering
v8 엔진 모듈 사용
37. 1.소스를 빌드하고, 소스를 헤드리스 브라우저에서 동작.
2.헤드리스 브라우저(Phantom.js)에서 동작 시키고, 그 결과를 html로 저장.
3.그리고 그 html파일을 서버사이드쪽 템플릿 파일로 사용.
4.이 상태로 서버 운영을 시작.
Prerendering
동작원리
38. 1.소스를 빌드하고, 소스를 헤드리스 브라우저에서 동작.
2.헤드리스 브라우저(Phantom.js)에서 동작 시키고, 그 결과를 html로 저장.
3.그리고 그 html파일을 서버사이드쪽 템플릿 파일로 사용.
4.이 상태로 서버 운영을 시작.
Prerendering
동작원리
빌드 과정. 이부분을 Webpack으로 작성해야 합니다.
42. 1.로그인에 따라 값이 바뀌는 경우, Prerender 시점에
는 로그아웃된 상태입니다.
2.로그인 한 상태에서 새로고침하면 Prerender된 화면
이 출력되고 로그인으로 바뀌면서 화면 깜빡임이 발생
합니다.
3.즉, State 가 존재하는 경우 Prerender에서는 제어할
수가 없습니다.
Prerendering
문제점
로그아웃 상태
로그인 상태로 전환
47. 1.해당 플러그인은 브라우저에서 process.env.NODE_ENV 와 같은 변수를 사용할 수 있게 해줍니다.
2.process.env.NODE_ENV 를 빌드과정에서 찾아서 정해진 값으로 치환해서 사용합니다.
3.여기서는 process.env.PRERENDER 라는 변수를 선언해서 사용하였습니다.
webpack define plugin
동작원리