Nuxt.js 将 <link rel=“canonical“ href=“当前页面对应网址“> 加到所有页面的 <head> 上
利用 mixin 全局混入
在 plugins 文件里 创建 globalMixin.js,代码如下:
import Vue from "vue";
Vue.mixin({
head() {
if (this.$route) {
return {
link: [
{
rel: "canonical",
href: `https://www.marketmonitorglobal.com.cn${
this.$route.fullPath ? this.$route.fullPath : ""
}`,
},
],
};
} else {
return {};
}
},
});
在 nuxt.config.js 里面
plugins: [
{ src: '~/plugins/globalMixin.js', ssr: true}
]
ssr 为 true 一开始进来服务端才会去执行这个文件,
不为 true 首次打开网站头部 <head> 里面不会有 添加的 <link>
这样俩个步骤就解决啦!
所以页面的 <head> 都添加 <meta>,<link>,<script>
直接在 app.html 文件里面添加, 如下图示例:
单个页面的 <head> 都添加 <meta>,<link>,<script>
直接在 对应的 .vue 文件里面 的 head() 方法里面添加。如下图示例: