后端api地址一般分为开发、测试、生产,所有一个npm run build可不够用,每次去修改配置文件也很麻烦
环境
不同的环境,配置也不同,vue-cli的版本导致文件结构不一致
“vue”: “^2.5.2”,
步骤
build文件夹
build.js
// const spinner = ora('building for production...') const spinner = ora('building for'+process.env.NODE_ENV + 'of' + process.env.env_config + 'mode...')//新增 spinner.start()
webpack.prod.conf.js
// const env = require('../config/prod.env') const env = config.build[process.env.env_config + 'Env'] //新增
config文件夹
dev.env.js
module.exports = merge(prodEnv, { NODE_ENV: '"development"', ENV_CONFIG: '"dev"',//新增 BASE_API: "'http://192.168.22.149:8081/oriPlan-web/'"//新增 })
index.js
testEnv:require('./test.env'),//新增 prodEnv:require('./prod.env'),//新增 devEnv:require('./dev.env'),//新增
test.env.js
module.exports = { NODE_ENV: "'test'", ENV_CONFIG: "'test'",//新增 BASE_API: "'http://192.168.22.139:8082/oriPlan-web/'"//新增 }
根目录
main.js
const url = process.env.BASE_API; http.defaults.baseURL=url; // console.log(a); console.log("看这里"); console.log(url);
package.json
"build--dev": "cross-env NODE_ENV=production env_config=dev node build/build.js", "build--test": "cross-env NODE_ENV=production env_config=test node build/build.js", "build--prod": "cross-env NODE_ENV=production env_config=prod node build/build.js"