當我們npm下來一些三方的插件是使用,有時候會發(fā)現(xiàn)里面的邏輯有時候并不是我們想要的或者需要修改部分邏輯去適合我們自己的項目统阿,這個時候我們就需要修改這個插件里面的源碼了,但是我們直接修改在node_modules中的源碼的源碼的時候,會發(fā)現(xiàn)有時候再次npm install時候或者有時候直接修改src里面的源碼的時候,根本沒有起作用楚昭,這時候我們分為兩種情況去分析
1.直接修改src源碼無效果的情況
這種情況其實只能說明我們沒有修改對地方,我們要看的是這個插件里package.json里面的這樣一行代碼
"main": "xxxx/xxxxx",
找到這行就知道這個插件的入口是什么了拍顷,這樣我們?nèi)バ薷南鄬?yīng)的代碼就可以生效
2.修改看源碼之后哪替,當初邏輯已經(jīng)成功了,但是再次npm install的時候菇怀,原來修改的效果消失
這種情況其實還是蠻頭疼的凭舶,不怕一萬就怕萬一,那這種情況該這么處理呢爱沟?
①帅霜、這個時候我們需要把npm下來的這個插件的所有代碼復(fù)制出來,然后用我們的vscode等編譯器把他跑起來呼伸,在這個源碼上把所有我們想要的邏輯全部添加上去身冀,然后重新打包钝尸。
②、然后在自己的項目里建立一個文件夾搂根,我的是用的npmfile命名的文件夾珍促,把剛才修改的插件源碼放進去,記住只放主要的代碼剩愧,什么demo代碼這些就不需要放進去了猪叙,影響包的大小,但是插件的package.json一定要放進來仁卷。
③穴翩、去自己項目的package.json的dependencies的map里找到相對應(yīng)的我們修改的插件名字,修改更目錄地址锦积,比如:
"vue-slim-better-scroll": "file:./src/npmfile/vue-slim-better-scroll",
file:后面就是我們修改后的源碼所放的地方
④芒帕、然后npm install,然后跑起來丰介,這樣就不會被還原代碼啦
希望對你有所幫助背蟆,謝謝