项目中引入了公司内部的封装的依赖,因为一些地方与项目实际需求不符,所以对依赖中的.vue文件做了更改,本地打包都可以,但是如果提交到git,同事npm i的时候,就会被覆盖,如果每次都去找个这个文件,再修改一次就很麻烦。

查了一下说使用patch-package,创建补丁的时候没成功,研究了没整明白就放弃了(有大佬明白的可以告诉小老弟)

最后使用的是:利用 webpack alias 来覆盖别人代码。

具体操作如下:

1. 找到别人源码里面的需要修改的模块,复制代码到src目录
例如,在我的项目中,要修改的模块的文件名为Logo.vue, 我将它复制到src/components/Logo.vue

2. 修改其中的bug,注意里面引用其他的文件都需要写成绝对路径
修改了src/components/Logo.vue中的代码为我需要实现的代买

3. 找到这个模块被引入的路径(我们需要拦截的路径)
Logo.vue的引入路径为./Logo.vue

4. 配置webpack alias(我这里配置的是 vue.config.js)

const path = require('path');

module.exports = {

	chainWebpack: config => {
	
	config.resolve.alias
	
	.set('./Logo.vue', path.resolve(__dirname, 'src/components/Logo.vue'))
	
	}

};
Logo

瓜分20万奖金 获得内推名额 丰厚实物奖励 易参与易上手

更多推荐