当前位置: 首页 > 面试题库 >

如何在create-react-app中隐藏API密钥?

商兴朝
2023-03-14
问题内容

我在create-react-app中制作了天气应用。如何隐藏API密钥,以便可以提交到GitHub?

现在,密钥在App.js中:const API_KEY =“ 123456”;


问题答案:

免责声明

除非您正在制作教程应用程序,否则请勿在客户端(例如React应用程序)中放置api密钥之类的秘密。

根据create-react-app的文档,

警告:请勿在您的React应用程序中存储任何秘密(例如私有API密钥)!

环境变量已嵌入到内部版本中,这意味着任何人都可以通过检查应用程序的文件来查看它们。

https://create-react-app.dev/docs/adding-custom-environment-
variables/

原始答案

为了阐述Arup Rakshit的评论,

首先,您应该在src文件夹之外创建.env文件。

然后加

REACT_APP_WEATHER_API_KEY=123456

提交之前,您应该排除此.env文件,因此找到.gitignore文件并添加.env。

现在您可以自由了。

不要忘记在.gitignore文件中添加.env。

添加:

  1. 如何在代码中使用env变量:

    const API_KEY = process.env.REACT_APP_WEATHER_API_KEY;

  2. env变量未定义。我如何解决它?

为了读取环境变量,您应该重新启动服务器。



 类似资料:
  • Create React App 不用配置就可以创建 React App。 全局安装: npm install -g create-react-app 创建 App: create-react-app my-appcd my-app/ 启动 npm: npm start 打开 http://localhost:3000/  查看你的 App。 如果你准备将其部署到生产环境,只需创建一个压缩包,并且运行 npm run build。

  • 问题内容: 根据Dan Abramov 的推文,CSS模块支持位于create- react-app(CRA)中。只需扩展其样式表即可启用该功能,但这对我不起作用。我的版本为1.1.4 。如何使用CRA启用CSS模块?谢谢 问题答案: 您无需弹出。 从版本2开始,Create React App就立即支持CSS模块,该版本现已稳定。 通过运行或升级到v2()。 您只需要创建带有扩展名的文件 例如:

  • 在运行spark作业时,可以在事件日志中以纯文本形式看到SSL密钥密码、keystorepassword。你能帮我如何从日志中隐藏这些密码吗? 当我看到下面的内容时,https://issues.apache.org/jira/browse/spark-16796似乎是他们修复了它,使其不受web UI的影响。但我不确定我能用原木修复它 你的帮助真的很感激!! “{”事件“:”SparkListe

  • Create React Native App The fastest way to create universal React Native apps npx create-react-native-app Once you're up and running with Create React Native App, visit this tutorial for more informat

  • 我已经看到了Gradle的示例,其中API密钥存储在Gradle中。属性文件。然后修改构建。gradle文件,然后在Java应用程序中为其使用变量。 我如何在Maven项目中做类似的事情?

  • 问题内容: 我想隐藏密码输入。我在stackoverflow中看到许多答案,但如果按Backspace键,则无法验证值。条件返回false。 我尝试了几种解决方案来覆盖该函数,但是如果按退格键,则会出现缓冲区问题,我看到了不可见的字符。 我按:“ A”,退格键,“ B”,我的缓冲区中有:“ \ u0041 \ u0008 \ u0042”(toString()=’A \ bB’),而不是“ B”。