не может получить доступ к env внутри nuxt.config. js - PullRequest
0 голосов
/ 09 июля 2020

Я использую Nuxt v2.12.2 в режиме SPA и хочу использовать переменные env в пределах head по умолчанию. Я использую @nuxtjs/dotenv, однако, когда страница отображается, baseUrl не определено.

Я могу получить доступ к BaseUrl изнутри макетов страниц, но не из nuxt.config.js, как показано ниже.

.env

BASE_URL=https://example.com

nuxt.config. js

const env = import('dotenv')
env.config()

export default {
  mode: 'spa',

  generate: {
    fallback: true
  },

  env: {
    baseUrl: process.env.BASE_URL || 'http://localhost:3000'
  },

  head: {
    meta: [
      {
        hid: 'og:image',
        name: 'og:image',
        content: process.env.baseUrl + '/og/facebook.png'
      }
    ],
  },

  modules: [
    '@nuxtjs/dotenv'
  ]

  ...
}

1 Ответ

1 голос
/ 10 июля 2020

process.env.baseUrl еще не установлено, когда установлено свойство head.

Одно из решений - использовать функцию для head, которая будет запускаться после env настроен:

export default {
  head: () => ({
    meta: [
      {
        hid: 'og:image',
        name: 'og:image',
        content: process.env.baseUrl + '/og/facebook.png'
      }
    ]
  })
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...