Vue环境变量和模式

Vue环境变量和模式

环境变量的作用:

开发和测试时调用后台接口的地址是和生产环境中不一样的,有些时候需要跳转到其他网页,也需要测试和生产环境跳转不同的页面。这些配置如果都用人工来维护,上测试环境注释掉生产的代码,上生产环境注释掉测试的代码,会很麻烦也很容易出错。这些配置如果都用人工来维护,上测试环境注释掉生产的代码,上生产环境注释掉测试的代码,会很麻烦也很容易出错。所以有必要在一个入口进行控制,这就要用到vue框架中的环境变量和模式。


参考官方: https://cli.vuejs.org/zh/guide/mode-and-env.html vue模式和环境变量


模式:–mode

  1. 开发模式development 用于vue-cli-service serve
  2. 测试模式test 用于vue-cli-service test:unit
  3. 生产模式production 用户vue-cli-service build


环境变量:

在本地启动项目默认是使用的development模式,使用build命令打包默认是使用的production模式。但是我们一般都会有一个测试环境,在我们打测试包和生产包的时候都是用的是production模式,所以需要定义一个环境变量来进行区分。

创建环境文件

你可以在你的项目根目录中放置下列文件来指定环境变量:

.env                # 在所有的环境中被载入
.env.local          # 在所有的环境中被载入,但会被 git 忽略
.env.[mode]         # 只在指定的模式中被载入
.env.[mode].local   # 只在指定的模式中被载入,但会被 git 忽略

在这里插入图片描述

一个环境文件只包含环境变量的“键=值”对:

请注意,只有 NODE_ENVBASE_URL 和以 VUE_APP_ 开头的变量将通过 webpack.DefinePlugin 静态地嵌入到客户端侧的代码中。

在文件.env中设置环境变量

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-q4cVodPQ-1611831176017)(C:\Users\陈琳\AppData\Roaming\Typora\typora-user-images\image-20210128092500881.png)]

在main.js中打印环境变量 process.env.VUE_APP_USERNAME

在这里插入图片描述

npm run serve 控制台输出环境变量

run serve 控制台输出环境变量

tip:环境变量是node.js编译,不支持热修改。若修改环境变量需要重启服务。

### 配置 Vue 项目中的环境变量 在基于 Vite 的 Vue 项目中,可以通过 `.env` 文件来配置环境变量。以下是详细的说明以及示例: #### 环境变量的作用 通过使用环境变量,开发者能够区分不同的运行环境(如开发、测试生产),并针对每种环境应用特定的配置。这有助于实现动态调整功能的行为,比如显示不同的页面或按钮[^1]。 #### 创建 `.env` 文件 为了适配多种环境需求,在项目的根目录下可以创建多个以 `.env` 开头的不同文件名,这些文件会依据当前的工作模式自动加载对应的配置项。常见的命名方式如下: - **`.env.development`**: 适用于开发环境。 - **`.env.production`**: 适用于生产环境。 - **`.env.test`**: 可选,用于测试环境。 #### 定义环境变量 所有的环境变量都需以前缀 `VITE_` 开始才能被识别为有效的环境变量。这是因为 Vite 默认只暴露带有此前缀的变量给客户端代码[^2]。 ##### 示例:定义开发环境变量 ```plaintext // .env.development VITE_APP_TITLE=开发环境 - 我的应用 VITE_API_URL=http://dev-api.example.com ``` ##### 示例:定义生产环境变量 ```plaintext // .env.production VITE_APP_TITLE=生产环境 - 我的应用 VITE_API_URL=https://api.example.com ``` #### 访问环境变量Vue 组件或其他 JavaScript/TypeScript 文件中,可以直接通过 `import.meta.env` 来访问已定义的环境变量[^3]。 ##### 示例:读取环境变量 ```javascript console.log(import.meta.env.VITE_APP_TITLE); // 输出对应环境下的标题 console.log(import.meta.env.VITE_API_URL); // 输出对应环境下的 API 地址 ``` #### 自动加载机制 当启动项目时,Vite 会根据指定的模式自动加载相应的 `.env.*` 文件。例如,如果执行命令 `npm run dev` 启动开发服务器,则默认加载 `.env.development` 中的内容;而运行构建脚本 `npm run build` 则通常加载 `.env.production`。 --- ### 总结 以上方法展示了如何利用 `.env` 文件配合 Vite 实现多环境配置管理的功能。确保所有自定义环境变量均遵循 `VITE_` 前缀规则以便于正确解析。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值