全局设置默认 Meta 标签
Nuxt.js 允许你在 nuxt.config.js 里定义应用所需的所有默认 meta 标签,在 head 字段里配置就可以了。
head: {
title: 'BIGSTUDENT',
meta: [
{ charset: 'utf-8' },
{ name: 'viewport', content: 'width=device-width, initial-scale=1' },
{ hid: 'description', name: 'description', content: 'Nuxt.js project' },
{name:'renderer',content:'webkit'}
],
link: [
{ rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' }
]
}
想要实现对应的页面中展示对应的title等相关信息可以局部(子组件)设置 Meta 标签在 head 方法里可通过 this 关键字来获取组件的数据,你可以利用页面组件的数据来设置个性化的 meta 标签。
<template>
<h1>{{ title }}</h1>
</template>
<script>
export default {
data () {
return {
title: 'Hello World!'
}
},
head () {
return {
title: this.title,
meta: [
{ hid: 'description', name: 'description', content: 'My custom description' }
]
}
}
}
</script>
为了避免子组件中的meta标签不能正确覆盖父组件中相同的标签而产生重复的现象,建议利用 hid 键为meta标签配一个唯一的标识编号。
在应用配置文件 nuxt.config.js 中配置默认 meta:
head: {
title: 'starter',
meta: [
{ charset: 'utf-8' },
{ name: 'viewport', content: 'width=device-width, initial-scale=1' },
{ name: 'keywords', content: 'keyword 1, keyword 2'},
{ hid: 'description', name: 'description', content: 'This is the generic description.'}
],
},
在页面页面组件中利用 hid 来覆盖指定的 meta 配置:
export default {
head () {
return {
title: `Page 1 (${this.name}-side)`,
meta: [
{ hid: 'description', name: 'description', content: "Page 1 description" }
],
}
}
}
需要在项目中引入其他的js文件
例如要引入JQuery,需要在nuxt.config.js 中的script标签中引入就可以,如果要引入一串打包后的js代码,那么需要在nuxt.config.js中配置属性__dangerouslyDisableSanitizers:[‘script’],具体代码如下:
script: [
{
src: "https://code.jquery.com/jquery-2.2.4.min.js",
},
{
innerHTML:`(function(a,h,c,b,f,g){});`,
type: 'text/javascript',
charset: 'utf-8'
},
],