如何在nuxtjs中从docker容器中获取env



如何在nuxt.config.js中获取env,我应该在这里写什么?

env文件中的变量进入容器,但nuxjs看不到它们,我试着像下面这样获取它们https://nuxtjs.org/tutorials/moving-from-nuxtjs-dotenv-to-runtime-config/

export default {
server: {
port: 3000, // default: 3000
},
...
publicRuntimeConfig: {
apiUrl: process.env.API_URL || 'localhost',
},
apollo: {
clientConfigs: {
default: {
httpEndpoint: apiUrl, <<-- how to get the value????????
prefetch: false,
},
},
},
}

process.env.API_URL是一个动态值,当通过docker-compose 启动容器时将被替换

  1. 我认为您无法访问this&nuxt.config中的this.$config,因为它可以在*.vue文件中使用。
    它可在您的应用程序中使用。在这种情况下,@nuxtjs/apollo还必须支持publicRuntimeConfig(我不确定它是否支持(,并且您需要使用process.env这样不吉利:
apollo: {
clientConfigs: {
default: {
httpEndpoint: process.env.API_URL
}
}
}
  1. 但是有一个选项!您可以提供额外的插件来扩展Apollo-config,该插件可以访问$config,然后您可以在nuxt.config.js中使用它。
  • 查看GH问题>在nuxt.config.js中使用publicRuntimeConfig作为$config也许它可以满足您的需求

GH 上的nuxt.config.js#8635中也有关闭的FR使用运行时配置

最新更新