next.js环境变量未定义(Next.js10.0.5)

我正在使用 Next.js 编写一个网站,并尝试添加谷歌标签管理器。
我遵循了 Next.js Github 示例中的教程,但由于某些原因,我无法访问我的环境变量。
它说我的变量未定义。
我在我的项目文件夹中创建了一个文件 .env.local(与组件、node_modules、页面等处于同一级别)
在这个文件中我创建了一个这样的变量(测试目的):

NEXT_PUBLIC_DB_HOST=localhost

在我的索引页面上,我尝试了以下代码:

console.log("test ", process.env.NEXT_PUBLIC_DB_HOST);

但是在我的控制台中,我得到了一个“未定义的测试”。
我试图将我的变量放入 .env 文件中,但没有成功。
我做错了什么?

回答

此 envs 仅适用于服务器端。要在客户端访问此环境,您需要在 next.config.js 中声明

这边走:

module.exports = {
  reactStrictMode: true,
  env: {
    BASE_URL: process.env.BASE_URL,
  }
}


以上是next.js环境变量未定义(Next.js10.0.5)的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>