注:本篇博客是基于vue-cli 2.9.6
版本vue-cli
默认自带production
和development
两种开发环境,但是在实际工作中一般还有测试环境
、预发布环境
等,可以修改package.json
添加新的打包命令,可以从而根据不同环境自动切换接口的BASE_URL
,所以本篇文章将以添加测试环境
为例,演示如何添加环境
新增新环境变量文件
项目的环境变量文件都在项目根目录下的config
文件夹下,默认有两种环境变量文件,即dev.env.js
和prod.env.js
,我们直接复制生产环境的配置文件prod.env.js
,将其名称改为test.env.js
并将其中的NODE_ENV
属性修改为自己想要的环境名称,这里以test
为例,记得加引号
'use strict'
module.exports = {
NODE_ENV: '"test"',
BASE_URL:"XXXXXXXX"
}
新增webpack配置文件
在项目根目录下的build
文件夹下,复制build.js
文件,并改名为test.js
,并按以下进行修改
process.env.NODE_ENV = 'test'
const spinner = ora('building for test...') //打包时的提示文本
在项目根目录下的build
文件夹下,复制webpack.prod.conf
文件,并改名为webpack.test.conf
,并按以下进行修改
const env = require('../config/test.env')
给新环境添加打包指令
找到项目根目录下的package.json
文件,在scripts
属性中添加一条指令
"scripts": {
"dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
"start": "npm run dev",
"build": "node build/build.js",
"test": "node build/test.js" //新增
}
使用
使用新添加的命令npm run test
进行测试环境的打包
F:\Project\CZ4.2>npm run test
> cz@1.0.0 test F:\Project\CZ4.2
> node build/test.js
\ building for test...{ parser: "babylon" } is deprecated; we now treat it as { parser: "babel" }.
/ building for test...
可以通过axios
统一管理接口,然后api
前面的地址部分,用一个变量baseUrl
接受,process.env.NODE_ENV
获取运行/打包时的环境,从而给baseUrl
赋值不同环境对应的地址,达到自动化的效果
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。