如何自定义nuxt默认的html模板

时间:2018-05-17 13:08:24

标签: javascript html vue.js nuxt.js

我尝试从Nuxt应用程序自定义默认页面,但文档很差:

  

https://nuxtjs.org/guide/views#document

如果我只想获得标题,该怎么办?或只是头部的链接?

{{ HEAD.links }}

或仅限meta?

{{ HEAD.meta }}

我不知道语法,这个把手还是等同的东西?

谢谢!

1 个答案:

答案 0 :(得分:1)

如果查看源代码,则只能找到4个自定义元:

  • HTML_ATTRS
  • BODY_ATTRS
  • HEAD
  • BODY_SCRIPTS

请参阅https://github.com/nuxt/nuxt.js/blob/ef7a42649dcee7e65886b2db1a329deecd93aff2/lib/core/meta.js#L40-L45

HEAD元不是对象,而是字符串concat:

// Get vue-meta context
const m = await this.getMeta(url)

...

// HEAD tags
meta.HEAD =
  m.meta.text() +
  m.title.text() +
  m.link.text() +
  m.style.text() +
  m.script.text() +
  m.noscript.text()

所以你无法获得{{ HEAD.links }}

但是,从您的nuxt.config.js文件中,您可以覆盖所有HEAD数据。

例如。如果您只想保留title

取代:

head: {
  title: 'starter',
  meta: [
    { charset: 'utf-8' },
    { name: 'viewport', content: 'width=device-width, initial-scale=1' },
    { hid: 'description', name: 'description', content: 'Nuxt.js project' }
  ],
  link: [
    { rel: 'icon', type: 'image/x-icon', href: '/favicon.ico' }
  ]
}

由:

head: {
  title: 'starter'
},