.env和.dev和.local和.prod四个文件的区别(文件打包,请求地址路径需改动)

问题:在本地 npm run dev 能跑通代码,请求接口没问题,但是 npm run build 打包上线,出现了地址为:http://local...  代码请求接口请求不了,主要是请求的路径写错了

在 Vue 项目中,.env 文件用于配置环境变量,以便在不同的环境(如开发、生产、测试等)中使用不同的配置。这些文件的命名约定和用途如下:

.env 文件

  • .env: 默认的环境变量文件,所有环境共享的变量。这个文件中的变量会被所有其他环境使用,除非在更具体的环境文件中被覆盖。

环境特定的 .env 文件

  • .env.development: 开发环境使用的环境变量文件。当你运行开发服务器(例如使用 npm run dev 或 yarn dev)时,Vue 会加载这个文件中的变量。
  • .env.production: 生产环境使用的环境变量文件。当你构建项目(例如使用 npm run build 或 yarn build)时,Vue 会加载这个文件中的变量。
  • .env.local: 本地开发环境使用的环境变量文件,不会被版本控制(通常在 .gitignore 文件中忽略)。适用于开发人员的本地配置。

优先级

Vue 会按照以下优先级加载环境变量:

  1. .env.local
  2. .env.development(仅在开发环境中)
  3. .env.production(仅在生产环境中)
  4. .env

这意味着如果同一个变量在多个文件中定义,Vue 会使用优先级更高的文件中的值。例如,如果 VITE_API_BASE_URL 在 .env 和 .env.local 中都有定义,开发时会优先使用 .env.local 中的值。

示例

假设你有以下三个文件:

.env
ini
复制代码
VITE_API_BASE_URL=https://default-url.com
.env.development
ini
复制代码
VITE_API_BASE_URL=http://localhost:3000
.env.production
ini
复制代码
VITE_API_BASE_URL=https://api.production-url.com
.env.local
ini
复制代码
VITE_API_BASE_URL=http://localhost:15421

用法

  1. 开发环境: 当你运行 npm run dev 或 yarn dev 时,Vue 会加载 .env, .env.local, 和 .env.development 文件中的变量。
bash
复制代码
npm run dev

使用的 VITE_API_BASE_URL 将是 http://localhost:15421,因为 .env.local 的优先级高于 .env.development 和 .env。

  1. 生产环境: 当你运行 npm run build 或 yarn build 时,Vue 会加载 .env 和 .env.production 文件中的变量。
bash
复制代码
npm run build

使用的 VITE_API_BASE_URL 将是 https://api.production-url.com,因为 .env.production 的优先级高于 .env。

结论

  • .env: 基础配置文件,适用于所有环境。
  • .env.development: 仅开发环境使用的配置。
  • .env.production: 仅生产环境使用的配置。
  • .env.local: 本地开发的配置,优先级最高,不会被版本控制,适用于每个开发人员的本地环境。
  • 13
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值