npm run build根据不同参数打包不同环境url

今天在打包基于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;
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容