首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是NEXT_PUBLIC_..。类似REACT_APP_.?

是NEXT_PUBLIC_..。类似REACT_APP_.?
EN

Stack Overflow用户
提问于 2022-03-01 05:57:56
回答 1查看 412关注 0票数 2

有时,我想隐藏url链接,同时使用GET或POST方法。每当我使用REACT_APP_时,我都会使用REACT_APP_隐藏url。我的问题是,如果我使用的是Next.js应用程序,我能用NEXT_PUBLIC_URL代替吗?这两个变量的工作原理相似吗?他们有什么不同?

React应用程序

代码语言:javascript
复制
axios.get(process.env.REACT_APP_URL)

下一个应用程序

代码语言:javascript
复制
axios.get(process.env.NEXT_PUBLIC_URL)
EN

回答 1

Stack Overflow用户

发布于 2022-03-01 06:59:25

您的react应用程序运行在客户端上,因此无法安全地将变量保存在那里。

来自文档

警告:不要将任何秘密(如私人API密钥)存储在您的React应用程序中!环境变量被嵌入到构建中,这意味着任何人都可以通过查看应用程序的文件来查看它们。

这些文件通过将其引用为:

代码语言:javascript
复制
REACT_APP_NOT_SECRET_CODE

当你在上面做process.env.REACT_APP_URL的时候,你没有隐藏任何东西。您的请求可以在Chrome工具中看到。

这里的环境变量可以帮助不同环境(例如:staging-api/dev-api/prod-api )具有不同的URL值。不是为了保护API密钥或机密。

来问你的问题是两个相同的问题-是的,NEXT_PUBLIC_是一个很好的反作用力REACT_APP_。它也是向浏览器公开变量,并可用于这类路线等。

Next.JS,因为它也运行在服务器端,为您提供了一种保护变量的方法,而不是公开浏览器。这是通过省略NEXT_PUBLIC_ (因此基本上使用了任何泛型环境变量的命名约定)。

从医生那里:

默认情况下,环境变量仅在Node.js环境中可用,这意味着它们不会暴露在浏览器中。

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

https://stackoverflow.com/questions/71304303

复制
相关文章

相似问题

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