首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法在nuxt.config.js中访问env

无法在nuxt.config.js中访问env
EN

Stack Overflow用户
提问于 2020-07-09 13:27:58
回答 2查看 1.8K关注 0票数 2

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

我可以很好地从页面内部访问BaseUrl,但不能像下面这样从nuxt.config.js中访问。

.env

代码语言:javascript
复制
BASE_URL=https://example.com

nuxt.config.js

代码语言:javascript
复制
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'
  ]

  ...
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-07-10 02:55:56

设置process.env.baseUrl属性时尚未设置head

一种解决方案是将函数用于head,该函数将在设置env之后运行:

代码语言:javascript
复制
export default {
  head() {
    return {
      title: this.$route?.title,
      meta: [
        {
          hid: 'og:image',
          name: 'og:image',
          content: process.env.baseUrl + '/og/facebook.png'
        }
      ]
    }
  }
}
票数 3
EN

Stack Overflow用户

发布于 2021-08-04 15:10:13

上面的解决方案(对头部使用一个函数)对我没有作用,但这确实有效:

https://nuxtjs.org/docs/2.x/configuration-glossary/configuration-env

如果您使用NUXT_ENV_,那么env变量在构建时是可用的,并且可以在头中使用!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62815998

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档