React执行npm run build后,.env密钥的存储位置及打包方式咨询
React构建后.env中被引用密钥的去向
只要你的React组件代码里直接引用了.env中的变量(比如使用process.env.REACT_APP_XXX格式),执行npm run build时,这些变量会被构建工具(如Create React App内置的webpack)直接替换为对应的值,最终打包进build文件夹的JS静态文件中。
- 具体过程:构建阶段工具会扫描代码中的环境变量引用,将其替换成.env里的明文值,生成的静态文件里不再保留变量名,只有实际的密钥内容。
- 风险提示:绝对不要把敏感密钥(比如API密钥、数据库密码)放到前端.env变量中,因为打包后这些密钥会完全暴露在客户端的静态文件里,任何人都能通过查看页面源码获取。
- 正确方案:敏感密钥的处理逻辑应该放在Django后端,前端仅通过调用后端接口来获取所需结果,由后端负责使用密钥完成操作,前端全程不接触敏感信息。
内容的提问来源于stack exchange,提问作者nehat khan
相关产品推荐
相关产品推荐

