Nuxt.js 入门

Nuxt.js 是什么

TODO

是基于 Vue 的一个开发框架。

Nuxt.js 之于 Vue,相当于 Next.js 之于 React,可以这样分:nUxtvUenExtrEact

安装

第一步:创建项目

npm init nuxt-app <project-name>

或者手动创建

第二步:安装 Nuxt

npm install nuxt

路由

Nuxt 会为 pages 目录下的所有 .vue 文件自动生成路由,开发者不需要自己配置路由。

而且 Nuxt.js 还会为路由文件进行自动 code splitting,开发者不需要进行额外的配置。

普通路由

文件结构:

自动创建的路由结构:

动态路由

创建动态路由只需要在文件名前面加 下划线 就好了。

文件结构:

_slug/index.vue 这种结构表示 :slug 参数是必须的 _id.vue 这种结构表示 :id? 参数是可选的 如果要将 :id 参数变成必选,只需要修改文件结构为 _id/index.vue

自动创建的路由结构:

嵌套路由

需要创建一个和父级页面同名的文件夹。还需要在父级路由的页面组件中加入 NuxtChild 组件。

文件结构:

自动创建的路由结构:

不常见的路由需求

路由拓展

导航

使用 NuxtLink 组件来进行页面间导航,这个组件是由 Nuxt 提供的,不用额外引入,可以看成是 Vue 的 RouterLink 的替代品。

目录结构

pages 文件夹

Nuxt 会为这个文件夹下的 .vue 文件生成页面路由。

learn more

components 文件夹

放 Vue 组件的地方,组件会由 Nuxt 自动引入,开发者不需要手动引入。(前提是 nuxt.config.js 中的 component 字段设为 true

learn more

assets 文件夹

放不用编译的资源,比如样式文件、图片、字体。

learn more

static 文件夹

会映射到服务器根路由。

learn more

nuxt.config.js 文件

配置文件

learn more about directories

渲染

  • 服务端渲染(SSR):就是每次用户请求的时候都在服务端动态获取数据,组合好 HTML 文档返回给浏览器。

  • 静态网站(static sites):HTML 文档是在打包构建阶段就已经生成了,用户请求页面的时候服务器只要直接返回文档。

要开启 SSR 或者静态渲染的话,在 nuxt.config.js 中设置:

  • 客户端渲染:指的是用户请求页面时,服务端返回一个基础的 HTML 文档,里面是没有数据的,浏览器接收到文档后再使用 JS 进行数据请求,然后将数据渲染到页面中。

nuxt.config.js 中设置:

部署

静态网址

nuxt.config.js 中设置:

使用 nuxt generate 命令打包生成静态文件,Nuxt.js 会为每一个页面路由生成一个 HTML 文件,放到 dist/ 文件夹下。

服务端渲染

nuxt.config.js 中设置:

使用 nuxt build 命令打包构建项目。

引入 element-ui

安装 element-ui 之后在 nuxt.config.js 中设置:

新增 plugins/element-ui.js

Last updated

Was this helpful?