Nuxt.js 是一个基于 Vue.js 的通用应用框架。
是一个基于 Vue.js 的轻量级应用框架,可用来创建服务端渲染 (SSR) 应用,也可充当静态站点引擎生成静态站点应用,具有优雅的代码结构分层和热加载等特性。
确保安装了 npx(npx 在 NPM 版本 5.2.0 默认安装了):
安装:$ npx create-nuxt-app<项目名>
或者用 yarn :
$yarncreate nuxt-app<项目名>
它会让你进行一些选择:
在集成的服务器端框架之间进行选择:
None (Nuxt 默认服务器)
Adonis (WIP)
选择您喜欢的 UI 框架:
None (无)
选择您喜欢的测试框架:
None (随意添加一个)
选择你想要的 Nuxt 模式 (Universal or SPA)
添加 axios module 以轻松地将 HTTP 请求发送到您的应用程序中。
添加 EsLint 以在保存时代码规范和错误检查您的代码。
添加 Prettier 以在保存时格式化/美化您的代码。
当运行完时,它将安装所有依赖项,因此下一步是启动项目:
$cd<project-name>$npmrun dev
应用现在运行在 http://localhost:3000 上运行。
注意:Nuxt.js 会监听 pages 目录中的文件更改,因此在添加新页面时无需重新启动应用程序。
然后启动项目:
$npmrun dev
资源目录
资源目录 assets 用于组织未编译的静态资源如 LESS、SASS 或 JavaScript。
组件目录 components 用于组织应用的 Vue.js 组件。Nuxt.js 不会扩展增强该目录下 Vue.js 组件,即这些组件不会像页面组件那样有 asyncData 方法的特性。
布局目录 layouts 用于组织应用的布局组件。
若无额外配置,该目录不能被重命名。
middleware 目录用于存放应用的中间件。
页面目录 pages 用于组织应用的路由及视图。Nuxt.js 框架读取该目录下所有的 .vue 文件并自动生成对应的路由配置。
若无额外配置,该目录不能被重命名。
插件目录 plugins 用于组织那些需要在 根vue.js应用 实例化之前需要运行的 Javascript 插件。
静态文件目录 static 用于存放应用的静态文件,此类文件不会被 Nuxt.js 调用 Webpack 进行构建编译处理。服务器启动的时候,该目录下的文件会映射至应用的根路径 / 下。
举个例子: /static/robots.txt 映射至 /robots.txt
若无额外配置,该目录不能被重命名。
store 目录用于组织应用的 Vuex 状态树 文件。 Nuxt.js 框架集成了 Vuex 状态树 的相关功能配置,在 store 目录下创建一个 index.js 文件可激活这些配置。
若无额外配置,该目录不能被重命名。
nuxt.config.js 文件用于组织 Nuxt.js 应用的个性化配置,以便覆盖默认配置。
若无额外配置,该文件不能被重命名。
package.json 文件用于描述应用的依赖关系和对外暴露的脚本接口。
该文件不能被重命名。
别名目录
~ 或 @srcDir
~~ 或 @@rootDir
默认情况下,srcDir 和 rootDir 相同。
提示: 在您的 vue 模板中, 如果你需要引入 assets 或者 static 目录, 使用 ~/assets/your_image.png 和 ~/static/your_image.png方式。
路由
Nuxt.js 依据 pages 目录结构自动生成 vue-router 模块的路由配置。
要在页面之间使用路由,我们建议使用<nuxt-link> 标签。
例如:
<template><nuxt-linkto="/">首页</nuxt-link></template>
Nuxt.js 依据 pages 目录结构自动生成 vue-router 模块的路由配置。
要在页面之间使用路由,我们建议使用<nuxt-link> 标签。
例如:
<template><nuxt-linkto="/">首页</nuxt-link></template>
模板
Nuxt.js 依据 pages 目录结构自动生成 vue-router 模块的路由配置。
要在页面之间使用路由,我们建议使用<nuxt-link> 标签。
例如:
<template><nuxt-linkto="/">首页</nuxt-link></template>
Nuxt.js 扩展了 Vue.js,增加了一个叫 asyncData 的方法,使得我们可以在设置组件的数据之前能异步获取或处理数据。
异步数据
Nuxt.js 扩展了 Vue.js,增加了一个叫 asyncData 的方法,使得我们可以在设置组件的数据之前能异步获取或处理数据。
Nuxt.js 提供了几种不同的方法来使用 asyncData 方法,你可以选择自己熟悉的一种来用:
返回一个 Promise, nuxt.js 会等待该Promise被解析之后才会设置组件的数据,从而渲染组件.
使用 async 或 await (了解更多)
// 初次进入页面
export default {
// 异步data 在渲染之前帮我发几个请求、 服务端
async asyncData(){//形参 路由信息对象
let res=await fetch("http://192.168.204.20:1024/api/goodList").then(r=>r.json());
console.log(res);
return {
list:res
}
},
data(){
return {
title:"hello"
}
},
created(){
}
}
$axios Nuxt.js里的不能用时自己去官网重新下载
http://www.axios-js.com/zh-cn/docs/
安装
使用 npm:
$ npm install axios
使用 bower:
$ bower install axios
使用 cdn:
export default {
// 异步data 在渲染之前帮我发几个请求、 服务端
async asyncData({app}){//形参 路由信息对象
let res=await app.$axios.get("http://localhost:1024/api/goodList?page=20");
return {
list:res
}
},
data(){
return {
title:"hello"
}
},
created(){
}
}