Nuxt.js 2.15.7中如何移除重复的meta标签?
Nuxt.js动态页面meta description重复问题的原因与解决
问题原因
出现重复的核心是meta标签的hid属性不匹配。Nuxt依赖hid(对应vue-meta的vmid)来识别需要覆盖/替换的同类型meta标签:
- 全局
nuxt.config.js中,你给description标签设置的hid: 'description' - 动态页面里却用了
hid: this.idCategory,这个值和全局的hid完全不同,Nuxt会判定这是两个独立的meta标签,因此不会移除全局的描述标签,而是新增一个,最终导致页面出现两个description标签。
修复方法
只需要把动态页面中meta标签的hid改成和全局配置一致的'description'即可,让Nuxt能正确识别并替换全局的描述标签:
修改动态页面的head()方法:
head() { return { title: "info-book - " + this.titleHead, meta: [ { hid: 'description', // 与全局配置的hid保持一致 name: 'description', content: this.descriptionContent } ] } },
额外说明:你在全局配置中添加的template: '%s'其实可以移除,因为当前场景下直接替换content属性就能满足需求,不需要模板替换逻辑。
内容的提问来源于stack exchange,提问作者hamid-davodi
相关产品推荐
相关产品推荐

