java项目包分支显示_解决项目中根据分支使用不同配置问题

背景

最近遇到一个项目是根据git不同分支使用不同的配置文件,只能从dev向test环境合并代码,而且不能对配置文件进行修改,使用起来问题很多。所以写了一个webpack插件解决这个问题:

思路

由于项目中在不同环境的前缀都是相同的,比如dev就是dev-x, test就是test-x。

第一步我们需要想办法获取git分支的名字,可以通过以下方法获得:

// 根目录下获取.git文件

fs.readFileSync(

path.join(fs.realpathSync(process.cwd()), '.git/HEAD'),

'utf-8'

)

const gitHEAD = gitPath.trim();

const environment = gitHEAD.split('/')[2];

复制代码

第二步判断属于什么分支,通过正则即可获得是属于某个环境的分支:

// 判断是否属于dev分支

/dev/.test(environment)

复制代码

第三步我们需要将node环境传到browser环境,这时会用到DefinePlugin这个插件:

if (this.envs.includes(environment)) {

new DefinePlugin({ ENV: JSON.stringify(environment) }).apply(

compiler

);

}

复制代码

第四步就是看结果了:

// example.js

console.log('ENV',ENV);

// 可以在打包好的文件中看到变化

console.log("ENV","master")

复制代码

结尾

第一次在掘金写博客,博客里的代码比较少,主要是串了一下思路,这种需求比较小众,比较大众的做法应该是在docker中进行build操作,直接通过.env文件进行环境判断。代码在中,有需求的小伙伴别忘了点个star。目前还没有传到npm,如果有需要,可以留言联系我。

b739ec46bb5c46d9c0aa4ce35ba1ea56.png

关于找一找教程网

本站文章仅代表作者观点,不代表本站立场,所有文章非营利性免费分享。

本站提供了软件编程、网站开发技术、服务器运维、人工智能等等IT技术文章,希望广大程序员努力学习,让我们用科技改变世界。

[解决项目中根据分支使用不同配置问题]http://www.zyiz.net/tech/detail-137467.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值