我们可以使用一个名为_MY_SECRET的env变量吗?



我试图在nuext .js中使用serverMiddleware中的环境变量。当它以字母(MY_SECRET)开头时,它可以正常工作,但由于它是一个私有服务器变量,我希望它以下划线(_MY_SECRET)开头。然而,由于某些原因,后者是未定义的。

这是我的基本设置:
// .env
MY_SECRET = hello
_MY_SECRET = world
// serverMiddleware/index.js
console.log(process.env.MY_SECRET, process.env._MY_SECRET) // output: hello undefined

为什么会发生这种情况,我有什么其他的选项来前缀我的私有变量?

Nvm,您不能在serverMiddleware中使用runtimeConfig(可能是因为它不在next上下文中),如下所示:https://github.com/nuxt/nuxt.js/issues/2033#issuecomment-773181809

我自己尝试了一个下划线,它与publicRuntimeConfig一起工作得很好。


经过一些研究,也就是这个答案和阅读官方规范,在一些维基百科之上,看起来_是一个有效的字符。同时,它也可用作分隔符。

我已经尝试了几件事,发现如果你用_前缀它,你甚至不会在process.env中拥有它,这也不是一个dotenv问题(检查了这个),所以我只是猜这是不可能的。

解决方案使用PRIVATE_MY_SECRET,你应该很好!

相关内容

  • 没有找到相关文章

最新更新