最近小编新接手了两个项目,这两个项目均是使用nuxt.js框架进行开发的,这对小编来说又是一个新的大陆,故而和各位小伙伴们絮叨絮叨这个东西。
首先先说明一下这个东西是个啥。
Nuxt.js 是一个基于 Vue.js 的通用应用框架,如同Next.js之于React一样(Next.js 是一个轻量级的 React 服务端渲染应用框架)
通过对客户端/服务端基础架构的抽象组织,Nuxt.js 主要关注的是应用的 UI渲染。
Nuxt.js 预设了利用Vue.js开发服务端渲染的应用所需要的各种配置。
小编的个人看法是,nuxt.js相对于vue而言确实便捷一些。
创建:npx create-nuxt-app 项目名 (npx在安装npm的时候已经安装,因此不用担心,直接使用就好)
各项配置的选择:
这些配置如果没有有特殊需要的话,直接按回车键就好,如果前两项需要填写也可以进行填写,第三项是使用nuxt默认的服务器端框架。
创建成功之后,是需要进入的文件夹中还是可以直接进行运行均会有提示,按照提示操作即可,之后打开提供的链接进行访问即可。
1、路由
①一般路由
在vue中,路由的跳转使用的是vue-router,路由的跳转需要开发人员自己进行编写配置,nuxt.js不需要自行编写,它会根据开发者page文件夹下的结构自动生成路由配置。
假设 pages 的目录结构如下:
pages/
--| user/
-----| index.vue
-----| one.vue
--| index.vue
那么,Nuxt.js 自动生成的路由配置如下:
router: {
routes: [
{
name: 'index',
path: '/',
component: 'pages/index.vue'
},
{
name: 'user',
path: '/user',
component: 'pages/user/index.vue'
},
{
name: 'user-one',
path: '/user/one',
component: 'pages/user/one.vue'
}
]
}
②子路由
在 Nuxt.js 里面定义带参数的动态路由,需要创建对应的以下划线作为前缀的 Vue 文件 或 目录。如果想生成的路由为二级(/index/1)、三级(/index/1/2)或是更多级,以及需要url后添加id等皆可使用子路由实现。
目录结构:
pages/
-----| comments.vue
-----| users.vue
-----| users/
--| _id.vue
Nuxt.js 生成对应