vue自动切换测试和线上环境 配置

本文介绍如何在Vue项目中分离开发和测试环境配置,通过安装cross-env插件和修改webpack配置实现不同环境变量的动态切换。具体步骤包括:1. 将环境配置从env.js分离至config文件夹下;2. 安装并配置cross-env插件;3. 创建vue.config.js文件并配置环境变量。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、首先

将统一的环境分开例如:

在这里插入图片描述
原本在 env.js 文件里的开发环境和测试环境
在这里插入图片描述
分别写到config文件夹 dev.js 和 prod.js里

第二步

再安装cross-env插件: npm install cross-env -D
之后 在这里插入图片描述
分别在运行和打包的指令 分别配置测试 和 生产 (加深绿色代码段)

第三步

项目目录创建vue.config.js 文件
配置

chainWebpack : config => {
    config.plugin("define").tap(args => {
      args[0]["process.env"].BUILD_ENV = JSON.stringify(process.env.BUILD_ENV);
      return args;
    });
  }
  其中process.env是args中的常量  BUILD_ENV是自定义的名

process.env.BUILD_ENV;

在这里插入图片描述

最后

在封装接口的位置调用
在这里插入图片描述
具体内容可以使用console.log() 查看

以上仅个人练习时的思路 仅供参考

### Vue CLI 中生产环境测试环境变量的工程化管理 在 Vue CLI 项目中,通过合理的文件结构配置可以轻松实现不同环境环境变量的有效管理切换。对于生产环境测试环境而言,主要依赖于 `.env` 文件家族来定义特定环境下的变量。 #### 创建环境变量文件 为了区分不同的运行模式,在项目的根目录下创建如下几个文件: - **`.env.development`**: 开发环境中使用的默认设置。 - **`.env.production`**: 部署到线上服务器时生效的参数集合。 - **`.env.test`**: 单元测试或集成测试期间加载的独特属性[^1]。 这些文件中的每一项都遵循 `VUE_APP_` 前缀规则,只有这样命名的空间才会被 Vue CLI 所识别并注入到进程中作为全局可用的对象 `process.env` 的一部分。 #### 使用示例 假设希望为 API 请求指定基础 URL,并根据不同阶段采用相应地址,则可以在上述三个文件里分别写入: ```bash # .env.development VUE_APP_API_URL=http://localhost:8080/api/v1/ # .env.test VUE_APP_API_URL=https://test.example.com/api/v1/ # .env.production VUE_APP_API_URL=https://prod.example.com/api/v1/ ``` 当构建应用程序时,Vue CLI 将自动读取当前工作区对应的环境配置文件,并将其转换成 JavaScript 变量供整个应用访问。 #### 访问环境变量 在组件内部或其他地方可以通过简单的语法获取之前声明好的环境变量: ```javascript console.log(process.env.VUE_APP_API_URL); // 输出取决于启动命令 (serve/build/test),会显示相应的API URL ``` 此外,还可以利用插件如 dotenv-webpack 来增强对复杂场景的支持,比如支持更多类型的环境变量或者更灵活地控制哪些变量应该暴露给客户端脚本。 #### 构建过程中的注意事项 确保每次执行 npm run build 或者其他打包指令前已经正确设置了 NODE_ENV 环境变量指向目标环境名称(development/production),这决定了最终产物所依据的具体配置版本。 ```json { "scripts": { "build:test": "cross-env NODE_ENV=test vue-cli-service build", "build:prod": "vue-cli-service build" } } ``` 这里展示了如何借助 cross-env 包跨平台兼容的方式显式指明要编译的目标环境,从而触发正确的环境变量加载逻辑。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值