首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用.env.local文件。在客户端上获取process.env.NEXT_PUBLIC_VERCEL_ENV是未定义的

使用.env.local文件。在客户端上获取process.env.NEXT_PUBLIC_VERCEL_ENV是未定义的
EN

Stack Overflow用户
提问于 2021-06-02 09:56:51
回答 2查看 1.6K关注 0票数 1

我用的是Next.js和Vercel。这是我的.env.local文件:

代码语言:javascript
运行
复制
# Created by Vercel CLI
VERCEL="1"
VERCEL_ENV="development"
VERCEL_URL=""
VERCEL_GIT_PROVIDER=""
VERCEL_GIT_REPO_SLUG=""
VERCEL_GIT_REPO_OWNER=""
VERCEL_GIT_REPO_ID=""
VERCEL_GIT_COMMIT_REF=""
VERCEL_GIT_COMMIT_SHA=""
VERCEL_GIT_COMMIT_MESSAGE=""
VERCEL_GIT_COMMIT_AUTHOR_LOGIN=""
VERCEL_GIT_COMMIT_AUTHOR_NAME=""

我有一个组件正在尝试访问:process.env.NEXT_PUBLIC_VERCEL_ENV,以确保它在development环境中。

这就是我在运行npm run dev时得到的结果。

来自服务器的日志:

上面的原木很有道理。因为它在本地服务器上运行以呈现页面。

但是当我的客户端代码试图做同样的事情时,我得到的是:

我就是这么做的:

代码语言:javascript
运行
复制
console.log(`process.env.NEXT_PUBLIC_VERCEL_ENV: ${JSON.stringify(process.env.NEXT_PUBLIC_VERCEL_ENV)}`);
console.log(`process.env.VERCEL_ENV: ${JSON.stringify(process.env.VERCEL_ENV)}`);

在客户机上,VERCEL_ENV应该是未定义的,但是NEXT_PUBLIC_VERCEL_ENV应该是development,对吗?

会发生什么事?

更新

我甚至尝试将NEXT_PUBLIC_VERCEL_ENV="development"添加到.env.local文件中。但到目前为止,结果是一样的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-06-02 10:41:11

代码语言:javascript
运行
复制
NEXT_PUBLIC_VERCEL_ENV="development"

您将可以在任何地方(在浏览器和服务器中)访问它。

代码语言:javascript
运行
复制
VERCEL_ENV="development"

您只能在服务器中访问此内容,在浏览器中它将显示未定义的内容。

请注意,在.env.local文件中添加或进行任何更改后,您必须重新启动服务器,否则,如果您console.log变量,它将显示console.log

票数 4
EN

Stack Overflow用户

发布于 2022-10-20 15:11:30

确保在“项目设置”中选中了自动公开系统环境变量。

系统环境变量

更多信息在医生里

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67802870

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档