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?

  1. 降低 SPA(Single Page Application)首屏渲染的时间: SPA 引用是将 bundle.js 从服务器获取,然后在客户端解析并挂载到 dom。而 SSR 直接将 HTML 字符串传递给浏览器。大大加快了首屏加载时间。
  2. 解决 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 推送
  • 支持多页面应用
  • 支持页面自定义布局
  • 组件自动导入