javascript - vue-cli怎么根据后端接口服务器不同 build不同接口代码?
问题描述
开发过程中 npm run dev 组件中接口调取的地址是 全局global定义的一个API变量如下:
// 开发环境打开// global.API = ’/api’;
// 测试环境打开// global.API = ’/test’;
// uat环境打开// global.API = ’/uat’;
// 生产环境打开// global.API = ’/www’;
生产环境 npm run build 时如何根据不同接口自动改变API成生产环境变量?
问题解答
回答1:琢磨了几天vue-cli生成的代码,vue觉得你只需要三种配置:开发(npm run dev)、生产(npm run build)和单元测试(npm run test)。。。
吐槽完。
1.打开config/index.js,修改build里面的env文件名为根据环境变量获取,修改完大概是下面这样子:
module.exports = { build: { env: require(’./’+(process.env.VUE_CONFIG||’prod’)+’.env’), //......
2.在config目录里面把prod.env.js复制两份,分别是uat.env.js、testing.env.js
3.修改dev.env.js、uat.env.js、testing.env.js、prod.env.js这四个文件,在大括号里面添加API: ’'/api或uat或其他什么'’,如下:
module.exports = { NODE_ENV: ’'production'’, API: ’'/api'’}
4.然后就可以在任何地方通过process.env.API访问到这个变量了。
5.打包的时候,先设置环境变量VUE_CONFIG,例如export VUE_CONFIG=uat && npm run build。
回答2:https://stackoverflow.com/que...
回答3:https://github.com/tonyljl526... 可以看下这个项目的脚手架,基于express和vue2、webpack的。能实现你的需求,主要看config/renderConfig.js
相关文章:
1. android - 安卓做前端,PHP做后台服务器 有什么需要注意的?2. docker images显示的镜像过多,狗眼被亮瞎了,怎么办?3. mysql - 我用SQL语句 更新 行的时候,发现全部 中文都被清空了,请问怎么解决?4. python - xpath提取网页路径没问题,但是缺失内容?5. javascript - IOS微信audio标签不能通过touchend播放6. java中这个页面默认是utf-8编码的,1输出乱码可以理解,可是2就不理解了?7. python-mysql Commands out of sync8. docker不显示端口映射呢?9. javascript - 求教各位,本地HTML页面怎么在DIV中嵌套服务器上的页面内容?不用iframe。10. docker start -a dockername 老是卡住,什么情况?
