时间:2021-05-26
项目开发中,前端在配置后端api域名时很困扰,常常出现:
本地开发环境: api-dev.demo.com
测试环境: api-test.demo.com
线上生产环境: api.demo.com,
这次是在Vue.js项目中打包,教大家个方法:
使用 npm run build -- xxx ,根据传递参数xxx来判定不同的环境,给出不同的域名配置。
1.项目中/config/dev.env.js修改:
新增:HOST: '"dev"'
'use strict'const merge = require('webpack-merge')const prodEnv = require('./prod.env')module.exports = merge(prodEnv, { NODE_ENV: '"development"', HOST: '"dev"'})2.项目中/config/prod.env.js修改:
获取传递进来的参数:
'use strict'let HOST = process.argv.splice(2)[0] || 'prod';console.log(HOST);module.exports = { NODE_ENV: '"production"', HOST: '"'+HOST+'"'}3.项目中ajax封装的地方修改:
/**** 设置API接口域名**/let apiUrl = '';// 根据 process.env.HOST 的值判断当前是什么环境// 命令:npm run build -- test ,process.env.HOST就设置为:'test'let HOST = process.env.HOST;HOST = HOST === 'prod' ? '' : '-' + HOST;apiUrl = 'http://api'+HOST+'.demo.com';axios.defaults.baseURL = apiUrl;4.最后敲命令:
npm run build -- test
注意–是2个横杠, 后面跟参数,这样 process.env.HOST 就获取到参数 'test' 了,
apiUrl = 'http://api-test.demo.com'若线上prod发布打包,npm run build -- prod
apiUrl = 'http://api.demo.com'总结
以上所述是小编给大家介绍的vue中Npm run build 根据环境传递参数方法来打包不同域名,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
在如今前后端分离,各种框架盛行的前端界,对项目的打包要求也越来越复杂,本人分享一个vue项目里,根据命令行输入不同的命令,打包出不同环境域名的方法。(欢迎纠错,
前端开发过程中,我们常常需要根据需求去运行或者打包不同环境的代码,幸运的是,angular给我们提供了environments配置,但是angular6.x的配
一、安装前说明环境依赖:node.js;vue官方脚手架:vue-cli;包管理工具:npm模块化打包工具:webpack安装node.js会默认安装npm,v
利用node和npm环境我们可以很快的搭建一个vue环境。具体步骤,请看上一篇博客。搭建完成后,我们可以看到生成的文件夹中包括如下文件:1、build文件夹是保
我们用的最基本的绘图环境在canvas中绘图,通过调用canvas对象的getContext()方法来获取绘图环境。getContext()方法只需要一个参数: