【问题标题】:Process env retuning undefined NUXT 2.12 SPA流程环境重新调整未定义的 NUXT 2.12 SPA
【发布时间】:2020-10-29 22:40:54
【问题描述】:

我在 SPA 模式下使用 Nuxt v2.12.2,并希望在默认 head 中使用环境变量。我正在使用@nuxtjs/dotenv,但是当页面呈现时,baseUrl 是未定义的。

.env

BASE_URL=https://example.com

nuxt.config.js

require('dotenv').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'
  ]

  ...
}

【问题讨论】:

    标签: nuxt.js dotenv


    【解决方案1】:
    ...all other content
    buildModules: [
        '@nuxtjs/dotenv'
      ]
    //buildMdules not modules
    

    还有,

    BASE_URL = https://example.com
    

    这可能只是解决您的问题。

    【讨论】:

    • process.env.baseUrl 仍未定义
    • @Simon,当然,这是因为您的 env 文件中有 BASE_URL 而不是 baseUrl
    【解决方案2】:

    为了访问组件中的 env 变量,您需要在 module.exports 中的 env 键下传播您的 process.env.whatever 值,以便您的组件也可以访问它们。在这种情况下,我想要 NODE_ENV

    nuxt.config.js

    module.exports = {
      ...
      env: {
        NODE_ENV: process.env.NODE_ENV
      },
      ...
    }
    

    参考。 https://github.com/nuxt/nuxt.js/issues/5721#issuecomment-582032983

    【讨论】:

      猜你喜欢
      • 2022-09-24
      • 2010-10-03
      • 1970-01-01
      • 2019-02-25
      • 2022-10-24
      • 2011-06-01
      • 2020-03-27
      • 2018-02-20
      • 2019-10-15
      相关资源
      最近更新 更多