Nextjs v12.0.8中未定义环境变量



我创建了一个.env.local文件,并尝试控制台process.env.TEST(测试env-var(,但我得到了undefinedprocess.env似乎总是空的。我重新启动了服务器,但仍然没有看到env-var。我甚至试图启动一个新的空项目,但process.env仍然是空的。

我是不是错过了什么?我看到的所有其他帖子似乎都想明白了,但我仍然做不到。我的.env.local文件位于根级别。我还尝试用NEXT_PUBLIC附加var,但这没有帮助。

按照惯例,React env变量必须以REACT_APP_为前缀才能与process.env一起使用。在Next.js的情况下,您可以将它们放在.env.local中,但它们将仅在Node.js环境中可用。如果需要使它们在浏览器中可用,则需要在它们前面加上NEXT_PUBLIC_。有关更多详细信息,请参阅文档。

另一种方法(更老派的Next.js(是有一个next.config.js文件。一个可能的配置是:

const conf = {
env: {
myVar: process.env.MY_VAR,
},
};
module.exports = conf;

然后您可以简单地在代码中使用process.env.myVar。有关详细信息,请参阅本页。

最新更新