1. Nuxt.js概述
1.1 咱们一块儿作过的SPA
- SPA(single page web application)单页 Web 应用,Web 再也不是一张张页面,而是一个总体的应用,一个由路由系统、数据系统、页面(组件)系统 等等,组成的应用程序。
- Vue就是SPA中的佼佼者。
- SPA 应用普遍用于对SEO要求不高的场景中
- SEO:搜索引擎优化(增长收录、提升权重)
SSR:服务器端渲染html
将前端拆分2部分:客户端和服务端前端
服务器端渲染,就是让前端服务端的代码先执行,就能够提早得到后端提供的数据vue
nuxt.js就是基于vue.js的SSR技术。node
二、Nuxt.js
官网:https://zh.nuxtjs.org/guide/web
Nuxt.js是一个基于Vue.js的通用应用框架。主要关注的是应用的UI渲染。vue-cli
Nuxt.js预设了利用Vue.js开发服务端渲染的应用所须要的各类配置。npm
咱们都知道Vue.js原来是开发SPA(单页应用)的,如今不少人想用Vue开发多页应用,并想要在服务端完成渲染。Nuxt.js应运而生,她简化了SSR的开发难度,并且还能够直接用命令把咱们制做的vue项目生成静态html后端
nuxt generate
命令:为基于Vue.js的应用提供生成对应的静态站点的功能。浏览器
按照官方说法:"是向开发集成各类微服务(Microsevices)的Web应用迈开的新一步"服务器
做为框架,Nuxt.js为客户端/服务端
这种典型的应用架构模式提供了许多有用的特性,例如异步数据加载、中间件支持、布局支持等。
2.1 什么是SSR?
SSR,即服务端渲染,就是在服务器端将对Vue页面进行渲染生成html文件,将html页面传递给浏览器。
- SSR两个优势:
- SEO不一样于SPA的HTML只有一个无实际内容的HTML和一个app.js,SSR生成的HTML是有内容的,这让搜索引擎能索引到页面内容。
- 更快内容到达时间 传统的SPA引用是将bundle.js从服务器获取,而后在客户端解析并挂载到dom。而SSR直接将HTML字符串传递给浏览器。大大加快了首屏加载时间。
SEO: 搜索引擎优化(Search Engine Optimization), 经过各类技术(手段)来确保,咱们的Web内容被搜索引擎最大化收录,最大化提升权重,最终带来更多流量。
3. 为何用Nuxt.js的缘由
最主要的缘由是SPA(单页应用)不利于搜索引擎SEO操做,好比制做一个相似新闻网站等,流量的一个主要来源是经过百度等搜索引擎,可是它们对SPA的抓取并很差,特别是百度根本无法抓取到SPA的内容页面,因此咱们必须把咱们的应用在服务端渲染成适合搜索引擎抓取的页面,再下载到客户端。Nuxt.js适合作新闻、博客、电影、咨询这样的须要搜索引擎提供流量的项目。
3.一、NUXT.JS特性(优势):
- 基于Vue.js
- 自动代码分层
- 服务端渲染
- 强大的路由功能,支持异步数据
- 静态文件服务
- ES2015+语法支持
- 打包和压缩JS和CSS
- HTML头部标签管理
- 本地开发支持热加载
- 集成ESLint
- 支持各类样式预处理器:SASS、LESS、Stulus等等
- 支持HTTP/2推送
四、Nuxt环境搭建
4.一、nuxt.js安装
在使用npm前须要安装Node到系统中,若是你尚未或是不会安装Node,那就先从Vue基础课程开始学起吧。若是你已经安装了,省略这步。
npm install vue-cli -g
测试是否安装成功(出现版本号,即为安装成功)
vue-V
4.二、使用vue安装nuxt
create 安装
npx create-nuxt-app 项目名
- 这个过程要等一会,若是这个过程安装失败,不要慌,你能够直接删除项目中的node_modules文件夹后,从新安装
4.3使用npm run dev启动服务
npm run dev
3.四、Hello Nuxt
国际惯例,来个Hello World
在项目根目录下找到/pages/index.vue文件,让后把项目名称改写成Hello World(这里我就写本身名字了)。框架支持热更新,因此你不用刷新就自动更新了。