- 简介:
基于 vue.js 的服务端渲染,是在服务端对 vue页面进行渲染生成 html 文件,再将 html 文件(html 字符串)传回给浏览器,不同于SPA 的单页面只有一个空的 Html 和 app.js,nuxt 生成的 html 是有内容的,所以更有利于搜索引擎的 seo 操作,并且加快了首屏加载时间。
- 流程:
用户输入网址后请求到 nodejs
部署在 nodejs 的nuxt 应用接收到浏览器请求,请求服务端获取数据 (渲染流程:发起访问-执行 store 中操作-执行中间件-动态路由检验-获取数据)
Nuxt获取数据后在服务端进行渲染
将渲染后的 html 返回给浏览器(vue 接管 由服务器发送的 html,使其变成由 vue 接管 dom 的过程)
- nuxt和webpack、vue 的关系(为什么要用到 webpack):
nuxt 基于 vue编写, 通过webpack 来打包 vue 文件。
通常来说 vue 程序是通过 webpack 结合 vue-loader构建 ,并且如导入 css 文件需要用 css-loader、导入文件需要用到 file-loader 等特定功能不能直接通过 nodejs 完成,并且浏览器转译 es5代码等都需要webpack 来构建 。