首页 > 其他 > 详细

nuxt学习笔记

时间:2019-12-19 21:54:39      阅读:86      评论:0      收藏:0      [点我收藏+]

简介

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

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

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

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

流程图

技术分享图片

安装

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

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

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

$ cd <project-name>
$ npm run dev

浏览器输入http://localhost:3000/可以看下以下内容
技术分享图片

目录结构

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 文件用于描述应用的依赖关系和对外暴露的脚本接口。该文件不能被重命名。

实践

新建page、layout

新建页面pages/my.vue

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

浏览器输入http://localhost:3000/my,显示如下
技术分享图片
新建模板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,显示如下
技术分享图片

引入css

新建assets/css/main.css,在nuxt.config.js里引入,这里引入的css是全局的

...
css: ['~/assets/css/main.css'],
...

新建assets/css/my.css,在pages/my.vue里引入,这里引入的css是之作用在当前页面的

<template>
  <p>my page</p>
</template>
<script>
import '~/assets/css/my.css'
export default {
  name: "my",
  layout: "my"
};
</script>
<style lang="stylus" scoped>

</style>

新建server

新建

nuxt学习笔记

原文:https://www.cnblogs.com/superlizhao/p/12069466.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!