如何在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 启动容器时将被替换
- 我认为您无法访问
this
&nuxt.config中的this.$config
,因为它可以在*.vue文件中使用。
它可在您的应用程序中使用。在这种情况下,@nuxtjs/apollo还必须支持publicRuntimeConfig(我不确定它是否支持(,并且您需要使用process.env这样不吉利:
apollo: {
clientConfigs: {
default: {
httpEndpoint: process.env.API_URL
}
}
}
- 但是有一个选项!您可以提供额外的插件来扩展Apollo-config,该插件可以访问
$config
,然后您可以在nuxt.config.js中使用它。
- 查看GH问题>在nuxt.config.js中使用publicRuntimeConfig作为$config也许它可以满足您的需求
GH 上的nuxt.config.js#8635中也有关闭的FR使用运行时配置