env.development.local 和 env.development 的区别
- 区别
- 1、场景
- 2、git管理
- 3、加载策略
- 思考
- 原因如下
区别
1、场景
- env.development: 用于开发环境的环境变量配置
- env.development.local: 用于存储特定于开发者的本地配置信息
2、git管理
env.development.local 会通过
*.local
添加到.gitignore里;而 env.development会被git追踪
3、加载策略
在运行 npm 或 yarn 命令加载环境变量时,它们都会被考虑,但如果有相同的环境变量,env.development.local 中的配置会覆盖 env.development 中的配置,即 env.development.local 的优先级更高 (大多数前端框架(如 Vue/React)默认采用 .local 后缀的配置文件作为本地开发环境的最高优先级配置。例如,env.development.local 会覆盖 env.development 的同名变量)
思考
本地开发为什么不直接更改env.development里的VITE_APP_API_BASE_URL值, 为什么需要新增env.development.local 重写VITE_APP_API_BASE_URL值
原因如下
- 避免直接修改公共配置文件(如 env.development ),防止因团队协作或代码提交导致公共配置被意外覆盖
- 允许开发者根据本机环境(如后端服务地址、端口等)灵活调整接口 URL,无需修改团队共享的默认配置