当我们npm下来一些三方的插件是使用,有时候会发现里面的逻辑有时候并不是我们想要的或者需要修改部分逻辑去适合我们自己的项目,这个时候我们就需要修改这个插件里面的源码了,但是我们直接修改在node_modules中的源码的源码的时候,会发现有时候再次npm install时候或者有时候直接修改src里面的源码的时候,根本没有起作用,这时候我们分为两种情况去分析
1.直接修改src源码无效果的情况
这种情况其实只能说明我们没有修改对地方,我们要看的是这个插件里package.json里面的这样一行代码
"main": "xxxx/xxxxx",
找到这行就知道这个插件的入口是什么了,这样我们去修改相对应的代码就可以生效
2.修改看源码之后,当初逻辑已经成功了,但是再次npm install的时候,原来修改的效果消失
这种情况其实还是蛮头疼的,不怕一万就怕万一,那这种情况该这么处理呢?
①、这个时候我们需要把npm下来的这个插件的所有代码复制出来,然后用我们的vscode等编译器把他跑起来,在这个源码上把所有我们想要的逻辑全部添加上去,然后重新打包。
②、然后在自己的项目里建立一个文件夹,我的是用的npmfile命名的文件夹,把刚才修改的插件源码放进去,记住只放主要的代码,什么demo代码这些就不需要放进去了,影响包的大小,但是插件的package.json一定要放进来。
③、去自己项目的package.json的dependencies的map里找到相对应的我们修改的插件名字,修改更目录地址,比如:
"vue-slim-better-scroll": "file:./src/npmfile/vue-slim-better-scroll",
file:后面就是我们修改后的源码所放的地方
④、然后npm install,然后跑起来,这样就不会被还原代码啦
希望对你有所帮助,谢谢