如何解决在nuxtjs上推荐的动态运行时配置技术dotenv除外
我一直在尝试使用publicRuntimeConfig / privateRuntimeConfig 在nuxt 2.4.1上,我在 nuxt.config.js
上定义了我的运行时配置publicRuntimeConfig: {
DATA_API_HOST_URL: process.env.VUE_APP_DATA_API_HOST_URL,},privateRuntimeConfig: {
AUTH_APP_CLIENT_SECRET: process.env.VUE_APP_AUTH_APP_CLIENT_SECRET,
并在我的 login.vue
中按如下方式调用它asyncData( ctx ) {
console.log(ctx.$config.DATA_API_HOST_URL)
//some activity
}
- 密钥显示在 asyncData 中的 $ config 上。我在chrome开发工具上进行了调试。但是不会从 process.env.VUE_APP_DATA_API_HOST_URL 中读取值。该值显示为 undefined 。但是, process.env.VUE_APP_DATA_API_HOST_URL 显示的值为“确定”。重点是远离 process.env 。
- this。$ config.DATA_API_HOST_URL 也不会访问这些值。 在示例中显示了
- '$ {DATA_API_HOST_URL}',但我认为它仅用于 asyncData 上的显式参数声明,例如
asyncData( { $config : {DATA_API_HOST_URL})
。 - 当我使用
DATA_API_HOST_URL: process.env.VUE_APP_DATA_API_HOST_URL || 'https://test.api.com'
传递值时,似乎可以使用 ctx。$ config.DATA_API_HOST_URL 复制值!
在我看来,像将 process.env 复制到* RuntimeConfig 一样,有问题!
推荐的导入和使用运行时配置的方法是什么?
解决方法
根据您标记的Nuxt博客文章中的文档,您尝试使用的功能已在2.13中发布(如果我没有误解,则您使用的是2.4)。这可能是您看到的行为背后的原因。 我建议您更新项目依赖项或尝试其他方法。
,我认为您应该使用Docker来设置动态运行时配置,例如下面的链接:
https://dev.to/frontendfoxes/dockerise-your-nuxt-ssr-app-like-a-boss-a-true-vue-vixens-story-4mm6
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。