nuxt学习笔记

简介

Nuxt.js是一个基于 Vue.js 的服务端渲染应用框架应运而生。

Nuxt.js 框架是如何运作的?

Nuxt.js 集成了以下组件/框架,用于开发完整而强大的 Web 应用:

  • Vue 2
  • Vue-Router
  • Vuex (当配置了 Vuex 状态树配置项 时才会引入)
  • Vue 服务器端渲染 (排除使用 mode: 'spa')
  • Vue-Meta

流程图

nuxt学习笔记

安装

确保安装了npx(npx在NPM版本5.2.0默认安装了):

$ npx create-nuxt-app <项目名>

它会让我们进行一些选择,依次选择完之后,当运行完时,它将安装所有依赖项,因此下一步是启动项目:

$ cd <project-name>
$ npm run dev

浏览器输入http://localhost:3000/可以看下以下内容
nuxt学习笔记

目录结构

1.资源目录

资源目录 assets 用于组织未编译的静态资源如 LESS、SASS 或 JavaScript。

2.组件目录

组件目录 components 用于组织应用的 Vue.js 组件。Nuxt.js 不会扩展增强该目录下 Vue.js 组件,即这些组件不会像页面组件那样有 asyncData 方法的特性。

3.布局目录

布局目录 layouts 用于组织应用的布局组件。若无额外配置,该目录不能被重命名。

4.中间件目录

middleware 目录用于存放应用的中间件。

5.页面目录

页面目录 pages 用于组织应用的路由及视图。Nuxt.js 框架读取该目录下所有的 .vue 文件并自动生成对应的路由配置。若无额外配置,该目录不能被重命名。

6.插件目录

插件目录 plugins 用于组织那些需要在 根vue.js应用 实例化之前需要运行的 Javascript 插件。

7.静态文件目录

静态文件目录 static 用于存放应用的静态文件,此类文件不会被 Nuxt.js 调用 Webpack 进行构建编译处理。 服务器启动的时候,该目录下的文件会映射至应用的根路径 / 下。
举个例子: /static/robots.txt 映射至 /robots.txt。若无额外配置,该目录不能被重命名。

8.Store 目录

store 目录用于组织应用的 Vuex 状态树 文件。 Nuxt.js 框架集成了 Vuex 状态树 的相关功能配置,在 store 目录下创建一个 index.js 文件可激活这些配置。若无额外配置,该目录不能被重命名。

9.nuxt.config.js 文件

nuxt.config.js 文件用于组织Nuxt.js 应用的个性化配置,以便覆盖默认配置。若无额外配置,该文件不能被重命名。

10.package.json 文件

package.json 文件用于描述应用的依赖关系和对外暴露的脚本接口。该文件不能被重命名。

实践

新建页面pages/my.vue

<template>
  <p>my page</p>
</template>
<script>
export default {
  name: "my"
};
</script>

浏览器输入http://localhost:3000/my,显示如下
nuxt学习笔记
新建模板layouts/my.vue

<template>
  <div>
    <nuxt />
    <p>my layout</p>
  </div>
</template>
<script>
export default {
  name: "my"
};
</script>

在pages/my.vue里引用模板my,如果不显示设置layout,则默认引用layouts/default.vue

<template>
  <p>my page</p>
</template>
<script>
export default {
  name: "my",
  layout: "my"
};
</script>

浏览器输入http://localhost:3000/my,显示如下
nuxt学习笔记

上一篇:nuxt服务端渲染技术


下一篇:nuxt项目部署篇