1. 程式人生 > >修改巨人的npm包 & 如何用npm上傳、更新自己的包

修改巨人的npm包 & 如何用npm上傳、更新自己的包

        其實剛剛從傳統前端+後端轉到現在主流的node,前後端分離,vue三個月不到的我,其實還沒有想過自己會寫包上傳到npm給大家使用……契機來源於,我下載了一個別人寫好的基於vue實現的tree grid包,但是我需要修改一些樣式,但是下載下來的在node_modules的原始碼直接改是沒有用的,參考了網上的一些文章,總結一下如果出現這種需求的話怎麼處理~

1. 在npm官網,包的介紹文件一般都會附上專案的Github地址,去GitHub上clone/download到本地修改;

2. 在本地修改完成,npm run dev測試通過後,npm run build生成目標檔案。

  (此處記錄一個自己很蠢的操作:我在修改並測試完成後直接上傳到npm,然後用到這個包的專案install下來使用,發現並沒有生效,網上各種百度,懷疑人生兩天之後,突然想到,為啥不npm run build一下?然後,然後再上傳到npm上,重新install,就好了……好……了…………,通過這個問題我確實再一次深刻的體會到在主流前端的路上,還有很多很多的東西需要學習,希望目前零零散散和依葫蘆畫瓢的學習有一天能真正的全面的理解各個技術~)

3. 如何使用? 

按照正常的邏輯,其實自己修改後的功能如果能在一定程度上起到完善和優化的作用,是可以在Git上給作者傳送提交的請求,申請將修改後的程式碼合併到原專案並請作者更新到npm上;

但是因為我急於測試,考慮到時間的成本,所以就直接採取方案二:作為一個新的包上傳到npm上;

(1)修改package.json,將name和version修改為自己的;

(2)如果還沒有npm賬號,先申請賬號,申請過程沒有什麼特別的,大致就是輸入使用者名稱、密碼郵箱等常規資訊:

(3)開啟cmd,切換到專案的路徑,npm login,輸入使用者名稱密碼郵箱等資訊;

     

(4)npm publish

          這個步驟由於網路的因素,有的時候會比較慢,耐心等待即可,等出現版本號就成功了!

(5)如何更新已經上傳的包?

npm version [<newversion> | major | minor | patch | premajor | preminor | prepatch | prerelease | from-git]

'npm [-v | --version]' to print npm version
'npm view <pkg> version' to view a package's published version
'npm ls' to inspect current package/dependency versions

幾個引數含義為:

<new version>:直接指定新的版本號;

 patch:補丁,eg: 1.0.0  --> 1.0.1

 minor:小修小改,eg: 1.0.0  --> 1.1.0

 major:大改,eg: 1.0.0  --> 2.0.0

設定完版本號之後,npm publish ,等到上傳完成即可;

PS: 修改別人的包,最好在README.md裡面備註一下修改的內容以及原作者的資訊,畢竟是借鑑別人的東西,尊重版權,人人有責~~