React.js本地环境下.env文件修改后变更不生效问题
React项目.env文件修改后不生效解决方案
React项目启动时会一次性将.env中的环境变量注入到打包产物中,相关数据会被缓存在本地,仅重启服务不会自动清除旧缓存,就会出现修改甚至删除.env文件都还是加载旧值的问题,可按以下步骤解决:
- 先按下
Ctrl + C终止当前正在运行的本地开发服务 - 删除项目根目录下的
node_modules/.cache文件夹,这是webpack默认的缓存目录,绝大多数场景下删除此目录即可解决缓存问题 - 如果项目根目录下有
build、dist等历史构建产物目录,也一并删除 - 确认自定义的环境变量命名符合规则:如果是通过create-react-app初始化的项目,所有自定义环境变量必须以
REACT_APP_为前缀,否则会被框架自动过滤,无法注入到前端运行环境 - 重新执行
npm start启动服务即可加载最新的.env配置
如果以上操作仍未生效,可执行下述进阶操作:
- 删除项目根目录下的
package-lock.json依赖锁文件 - 执行
npm install重新安装全部依赖 - 再次运行
npm start启动服务
内容的提问来源于stack exchange,提问作者Ankit Shah
相关产品推荐
相关产品推荐

