项目开发中,一般开发环境会有好几个,并且每个环境对应的接口地址也是不一样的,经常需要根据不用的环境打包出对应的接口地址
需要对3个地方进行修改
第一:
下面的这段代码是新增的prod25.env.js的代码,其实就是把API_ROOT配置成所需要的接口请求路径
'use strict'
module.exports = {
NODE_ENV: '"production"',
API_ROOT: '"http://172.16.100.25"'
}
第二:对build文件夹新增对应的js文件
复制一份webpack.prod.conf.js代码,文件名改成webpack.prod25.conf.js,对复制的webpack.prod25.conf.js第14行代码进行修改
由const env = process.env.NODE_ENV === 'testing'
? require('../config/test.env')
: require('../config/prod.env')
改为:
由const env = process.env.NODE_ENV === 'testing'
? require('../config/test.env')
: require('../config/prod25.env')
第三:修改package.json文件
把"scripts": {
"dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
"start": "npm run dev",
"unit": "jest --config test/unit/jest.conf.js --coverage",
"e2e": "node test/e2e/runner.js",
"test": "npm run unit && npm run e2e",
"lint": "eslint --ext .js,.vue src test/unit test/e2e/specs",
"build": "node build/build.js",
"analyz": "NODE_ENV=production npm_config_report=true npm run build"
}
修改为:"scripts": {
"dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
"start": "npm run dev",
"unit": "jest --config test/unit/jest.conf.js --coverage",
"e2e": "node test/e2e/runner.js",
"test": "npm run unit && npm run e2e",
"lint": "eslint --ext .js,.vue src test/unit test/e2e/specs",
"build25": "node build/build25.js",
"build": "node build/build.js"
}
最后我们就可以执行对应的命令打包对应环境的接口请求地址了
例如:
npm run build 就是执行config文件夹的prod.env.js的配置
npm run build25 就是执行config文件夹的prod25.env.js的配置
后续如果需要增加其他环境配置,就按照文章流程增加配置
说明:webpck3.0+vue-cli 2.0