Nuxt
INFO
Nuxt.js 是一个基于 Vue.js 的通用应用框架,一个用于 Vue.js 开发 SSR 应用的一站式解决方案,对客户端/服务端基础架构进行了抽象,主要关注的是应用的 UI 渲染。NuxtJs 可以实现基于 vuejs 的多页面应用,支持 SSR(服务器端渲染),简化了 SSR 的开发难度,受到了 React SSR 框架 Next.js 的启发,使用 Webpack 和 Node.js 进行封装的基于 Vue 的 SSR 框架,预设了利用 Vue.js 开发服务端渲染的应用所需要的各种配置,而且还可以直接用命令把我们制作的 vue 项目生成静态 html。作为框架,Nuxt.js 为客户端/服务端这种典型的应用架构模式提供了许多有用的特性,例如异步数据加载、中间件支持、布局支持等。
WARNING
- SSR,vue框架关注Nuxt,react关注Next。
- 首屏加载除了SSR,还有prefetch(node层、preload首屏预加载)
Nuxt.js 官网地址
截止目前2022年4月6日10:25:01为止,NuxtJs3.x 已发布了 beta 版本,NuxtJs3.x 还在开发完善中,不推荐在生产环境中使用。建议使用 NuxtJS 2.x 版本,相对比较稳定。
SSR(服务端渲染)
SSR,即服务端渲染(Server Side Render),就是在服务器端将对 Vue 页面进行渲染生成 html 文件,将 html 页面传递给浏览器。 为什么要使用 SSR?
- 降低 SPA(Single Page Application)首屏渲染的时间: SPA 引用是将 bundle.js 从服务器获取,然后在客户端解析并挂载到 dom。而 SSR 直接将 HTML 字符串传递给浏览器。大大加快了首屏加载时间。
- 解决 SPA 不利于 SEO(Search Engine Optimization)的优化: SPA 的 HTML 只有一个无实际内容的 HTML 和一个 app.js,SSR 生成的 HTML 是有内容的,这让搜索引擎能索引到页面内容。
NUXT.JS 特性
- 基于 Vue.js
- SSR 服务端渲染
- 强大的路由功能,支持异步数据
- 静态文件服务
- ES2015+语法支持
- 打包和压缩 JS 和 CSS
- HTML 头部标签管理
- 本地开发支持热加载
- 支持各种样式预处理器:SASS、LESS、Stulus 等等
- 支持 HTTP/2 推送
- 支持多页面应用
- 支持页面自定义布局
- 组件自动导入