打包build加参数,例如npm run build -- test、process.env便捷拼接口名
当我们再写项目的时候,有时候拿到接口返回的图片路径并没有给我们拼上域名,如果我们在页面重复写域名的话,后面变换域名的时候就回很麻烦,这时候我们可以用process.env来做路径前面的域名这时候我们需要简单的介绍一下process.env是什么东西:vue-cli建立完项目时会有个config包也就是这个东西,这里的dev.env.js就是我们平时跑项目时使用的,也就是npm run de...
当我们再写项目的时候,有时候拿到接口返回的图片路径并没有给我们拼上域名,如果我们在页面重复写域名的话,后面变换域名的时候就回很麻烦,这时候我们可以用process.env来做路径前面的域名
这时候我们需要简单的介绍一下process.env是什么东西:
vue-cli建立完项目时会有个config包
也就是这个东西,这里的dev.env.js就是我们平时跑项目时使用的,也就是npm run dev的时候,prod.env.js就是我们打包时候使用的,也就是npm run build的时候。
简单的介绍之后进入主题
我们可以在js里设置一个变量,在页面调用时
前面就是我们在dev.env.js所配置的变量了,当我们打包的时候用的参数可以是prod.env.js里的设置的变量
我们在使用axios的时候也可以使用这个方法,也就是设置axios的baseURL
这样我们在项目中修改接口域名的时候就会很方便了
在项目上线部署的时候有时会有测试环境和正式环境,打包的时候可以通过npm run build – test 和 npm run build – prod 区分我们接口访问的地址
这时我们可以在prod.env.js 加个参数
let HOST = process.argv.splice(2)[0] || ‘prod’;
module.exports = {
NODE_ENV: ‘“production”’,
HOST: ‘"’+HOST+’"’
}
这样host就可以拿到我们后面的参数,这是在axios里获取就可以了
if(process.env.HOST == ‘test’){
axios.defaults.baseURL = ‘测试环境’;
}else if(process.env.HOST == ‘prod’){
axios.defaults.baseURL = ‘正式环境’;
}
更多推荐
所有评论(0)