我正在用Next.js编码一个网站,我试图添加谷歌标签管理器。
我遵循了Next.js Github示例的教程,但由于某些原因,我无法访问我的环境变量。
它说我的变量是未定义的。
我在项目文件夹中(与components、node_modules、pages等处于同一级别)创建了一个.env.local文件。
在这个文件中,我创建了一个这样的变量(测试目的):
NEXT_PUBLIC_DB_HOST=localhost在我的索引页面上,我尝试了以下代码:
console.log("test ", process.env.NEXT_PUBLIC_DB_HOST);但在我的控制台中,我得到了一个“测试未定义”。
我尝试将变量放入.env文件中,但没有成功。
我做错了什么?
发布于 2021-06-30 14:12:13
这个环境只能在服务器端工作。要在客户端访问此环境,您需要在next.config.js中声明
这样:
module.exports = {
reactStrictMode: true,
env: {
BASE_URL: process.env.BASE_URL,
}
}发布于 2021-10-27 05:32:01
NEXT_PUBLIC_API_URL=http://localhost:3000/
一起使用
process.env.NEXT_PUBLIC_API_URL
npm运行开发
发布于 2021-02-17 03:04:58
重新启动服务器对我来说很有效。
编辑并保存.env.local
npm run dev
> klout@0.1.0 dev
> next dev
Loaded env from [path]/.env.localhttps://stackoverflow.com/questions/66137368
复制相似问题