【譯】發佈你本身的npm包

banner

備註:npm模塊有個神奇的樣板。這篇文章是基於我從設置中學到的東西。javascript

現在,NPM已經成爲javascript庫的事實上的註冊表。特別是React,Angular和其餘前端庫主導的網絡和node.js接管的服務器端,NPM軟件包比以往任什麼時候候都更受歡迎。一般,咱們會在代碼中引入實用包,好比typysugar,並輕鬆的使用它們。html

那麼,你有沒有想過編寫本身的實用程序/庫,並將其發佈到NPM上面,以便在世界任何的地方能夠重複使用它?若是是,那就繼續閱讀。✨前端

咱們將在本文中介紹如下部分。java

  1. 爲何?
  2. 發佈的步驟
  3. 樣板文件

爲何?

當你在多個項目中工做時,你常常發現本身在多個項目中重複簡單的事情。舉個例子,以你想要的方式解析日期並對其進行格式化。大多數開發者只是從一個項目複製代碼到另外一個項目中使用它,由於它只是幾行代碼。但更好的方法是提取代碼並將其放在一個公共的位置,以便你能夠從任何項目中訪問它。NPM是一個理想且不斷髮展的生態系統,而且能夠無償使用它。因此,從長遠看,將全部可重用代碼做爲npm包發佈上去將會幫助到你。node

不管代碼有多少,不管是一行仍是一千行,均可以將其做爲包發佈,以便在多個代碼庫中輕鬆使用。webpack

此外,你還能夠成爲這個庫的做者。多麼酷啊!😎git

發佈的步驟

發佈一般是一個簡單的過程。github

code => test => publish => revise code => test => publish new version ...web

入口

建立一個新目錄(,進入目錄)並從終端輸入如下命令。npm

npm init
複製代碼

(根據提示)輸入有意義的包名稱和包的相應詳細信息。這將爲你建立package.json。全部NPM包都須要main鍵。這定義了咱們庫的入口點。默認狀況下,這入口點將是index.js,可是你能夠根據你本身的狀況來更改入口點(文件)。

對於Babel或基於bundle的庫,入口點一般位於構建目錄中。

源碼

若是你正在編寫一個小型庫,則能夠將全部代碼放入index.js中。可是,更常見的是,咱們將抽象代碼並將其放入單獨的文件中。因此,理想的方法是將全部源代碼保存在src中。

這是目前最普遍使用和推薦的源代碼設置,儘管它從一個庫到另外一個庫中有所不一樣。

咱們大多數的人已經知道(上面)這些事,因此,我僅僅列出來,把它們留給你弄清楚。

測試

你須要進行全面測試,以確保你的代碼按照預期工做。有各類測試設置。你可使用最適合你需求的。那麼,普遍使用的測試設置有

... 等等

若是你須要代碼覆蓋率,我很喜歡(覆蓋率),Istanbul是任何JavaScript項目的最佳覆蓋工具之一。我很是喜歡它。

發佈

一旦你的代碼經過了測試,那麼能夠準備發佈了。

  1. npmjs.com中建立一個帳號。
  2. 在控制檯上運行下面的指令
npm login
複製代碼

輸入你的用戶名和密碼。這將存儲憑據,所以你沒必要爲每次發佈輸入憑據。

  1. 如今去發佈,運行(下面指令)
npm publish
複製代碼

這會將你的包發佈到NPM註冊表。發佈完成後(不到一分鐘),你能夠在連接https://www.npmjs.com/~{username}/{package-name}中查看你的包。

若是你想對包進行更改,則必須更改版本號並再次發佈。

請記住使用npm命令npm version patchnpm version minornpm verson major來自動更新版本,而不是手動更新它們。這些命令是基於語義版本控制

樣板文件

我有一些我本身的npm軟件包,並在線研究了建立NPM軟件包的全部最佳實踐,並專門爲此建立了樣板文件。它具備預先設置的全部功能,以便你能夠在幾秒鐘內開始使用。若是你正在尋找編寫JavaScript util包,它可能只是你的樣板。

樣板文件的連接 -- npm-module-boilerplate

你是最棒的!祝你度過美好的一天!🎉

後話

原文:hackernoon.com/publish-you…

文章首發:github.com/reng99/blog…

更多內容:github.com/reng99/blog… (客官能否star下倉庫啊@~@!)

相關文章
相關標籤/搜索