对于nuxt.js从未接触,由于项目需要进行零散了解,作此归纳。
一.项目创建
npx create-nuxt-app projectName
npx在NPM版本5.2.0默认安装。
二.nuxt的路由。
1.nuxt在创建项目时会自动生成一个page的文件夹,在里面新建vue文件便会自动生成对应路由,譬如在page中新建了一个名为test.vue的文件,那个项目运行后127.0.0.1:3000/test就是test页面内容
2.如果需要创建二级路由则需要在pages中创建新文件夹,在新文件夹中新建vue文件即可,譬如在pages中新建一个子文件夹test,在里面新建一个test.vue的文件,那么127.0.0.1:3000/test/test就是该页面内容
三.头部信息的添加我个人用到的有两种方式:
1.nuxt.config.js中公用添加。
2.各页面单独添加。
添加方式:在export default{}中添加
head: {
title: 'my website title',
meta: [
{ charset: 'utf-8' },
{ name: 'viewport', content: 'width=device-width, initial-scale=1' }
,
{
hid: 'description',
name: 'description',
content:
'my website description'
async asyncData({ params }) { let { data } = await $axios.get("接口API"); return { keyWords: data.resData }; error(params); }, 此时keyWords便是你请求获取的数据,然后将数据替换到head对应位置即可,譬如我的关键词信息只需要将我上面代码中的"my website description"替换为this.keyWords即可。 四,对于第三方插件的引入 如果需要引入第三方插件,则需要通过npm或者cnpm下载资源之后引入。 1.首先在生成plugins文件夹,该文件夹就是用来存放引入第三方插件与配置信息的js文件,譬如swiper插件,我引入swiper的包,做好相关配置之后命名为vue-swiper.js。 2.然后在nuxt.config.js中的plugins:[ ]代码块中加入引入代码即可,实例如下: plugins: [ { src: "~/plugins/vue-swiper.js", ssr: false } ] 其中src为你的第三方插件的引用与配置js文件路径,ssr表示是否需要在服务器端就开始进行渲染,一般都填false,因为对于前端常用的第三方插件来说大部分都是基于window或者document的,但是服务端没有window与document,这样就会导致项目报错,对于第三方插件的引入最常见的错就是window或者document找不到或者未定义。 3.对于只需要在某一页面引入的第三方插件也可以在vue文件中的script标签中用import的方式进行引入。
}
]
,
}
若需要通过请求后台API获取关键词信息和其他头部描述信息,则只需要通过在export default{}中添加请求代码即可,
请求方式如下: