Nuxt.js에서 htmlAttrs의 lang 또는 meta 태그가 효과가 없을 때

6111 단어 nuxt.js

사건



문서 에 있는 것처럼, 보통 이렇게 쓰면

nuxt.config.js

head: {
  htmlAttrs: {
    lang: 'ja',
    prefix: 'og: http://ogp.me/ns#',
  },
}

이렇게 반영되지만,
<html lang="ja" prefix="og: http://ogp.me/ns#">
lang 에 무엇을 설정해도 en 가 되어 버린다

해결책



분명히 PWA 모듈을 함께 넣으면 lang의 값을 en로 덮어 씁니다.
PWA 쪽 문서 거리에 설정하면 잘 써 바뀐다.

nuxt.config.js
export default {
  head: {
    htmlAttrs: {
      lang: 'ja',
      prefix: 'og: http://ogp.me/ns#',
    },
  },
// ~~~
  pwa: {
    manifest: {
      lang: 'ja',
    },
  },
}

환경


  • Nuxt.js: 2.15.2
  • nuxtjs/pwa: 3.3.5

  • Nuxt.js 2.11.0 때는 발생하지 않았지만, 버전 업하면 발생했다.

    그 밖에도 덮어쓰는 것이...



    이 근처를 덮어씁니다.
      const defaults: MetaOptions = {
        name: process.env.npm_package_name,
        author: process.env.npm_package_author_name,
        description: process.env.npm_package_description,
        charset: 'utf-8',
        viewport: undefined,
        mobileApp: true,
        nativeUI: false,
        favicon: true,
        mobileAppIOS: undefined,
        appleStatusBarStyle: undefined,
        theme_color: undefined,
        lang: 'en',
        ogType: 'website',
        ogSiteName: true,
        ogTitle: true,
        ogDescription: true,
        ogImage: true,
        ogHost: undefined,
        ogUrl: true,
        twitterCard: undefined,
        twitterSite: undefined,
        twitterCreator: undefined
      }
    

    참고

    좋은 웹페이지 즐겨찾기