今天在打包基于vue-admin-template模板开发的后台管理项目时,在package.json里看到了两条命令,
"build:prod": "vue-cli-service build",
"build:stage": "vue-cli-service build --mode staging",
这两句的代码的意思是,如题npm run build根据不同参数打包不同环境url
生产环境:npm run build -- prod
测试环境:npm run build --test
所以是要配置不同环境的,这里template中都已经配置了,所以这里不需要我们配置,下面粘贴一些其他人的配置。
config文件夹下
dev.env.js中修改代码
'use strict'
const merge = require('webpack-merge')
const prodEnv = require('./prod.env')
module.exports = merge(prodEnv, {
NODE_ENV: '"development"',
HOST: '"dev"'
})
prod.env.js中修改代码 HOST为截取到的参数
'use strict'
let HOST = process.argv.splice(2)[0] || 'prod';
module.exports = {
NODE_ENV: '"production"',
HOST: '"'+HOST+'"'
}
在封装axios请求的文件中
/**
* 环境切换
*/
let apiUrl = ''
let HOST = process.env.HOST;
if(HOST === 'prod'){
apiUrl = 'http://10.1.28.221:12001'
}
if(HOST === 'test'){
apiUrl = 'http://10.88.10.31:12002'
}
axios.defaults.baseURL = apiUrl;