手把手教你建立你的第一個 NPM 包

小錢錢阿聖發表於2017-07-21

1.npm是什麼?

npm 是Node 的模組管理器,功能極其強大。 它是Node 獲得成功的重要原因之一。 正因為有了npm,我們只要一行命令,就能安裝別人寫好的模組。

npm的基礎知識這邊就不做表述的,下面提供一些npm基礎知識的參考
npm官網
npm 模組安裝機制簡介

那麼下面來介紹一下,如何建立自己的第一個node模組,並把這個模組上傳到npm上面,讓別人可以用我們的模組


2.建立第一個node模組

Node.js模組就是釋出到npm的程式碼包,

建立一個新模組的第一步就是建立一個package.json檔案。
你可以用npm init來建立package.json檔案。
這個過程中命令列會逐步提示你輸入這個模組的資訊,
其中模組的名字和版本號是必填項

建立好的package.json是長這樣的


你還需要一個入口檔案,
如果你使用預設值的話,那就會是index.js.
建立完package.json檔案之後,你就要開始寫程式碼包裡的內容了,
這裡舉個最簡單的例子,在預設的index.js裡寫一個要匯出的函式,
這個函式也就是別人的程式碼裡可以import或者require的。

exports.showMsg = function () {
  console.log("This is my first module");
};複製程式碼

這樣的話,你的node模組就已經建立完成了

3.如何釋出到npm伺服器上

3.1.註冊一個npm賬號,2個方式,最簡單的就是去npm官網註冊
  • npm註冊
  • 還有一個方式就是 npm adduser,按照它的提示去建立
3.2.首次需要登入,npm login 儲存證書到本地,後面就不需要每次都登入的

登入需要輸入使用者名稱,密碼,還有郵箱,這些都是剛剛註冊時候填寫的

3.3.開始釋出

npm publish 釋出包
釋出過程會把整個目錄釋出,不想釋出的內容模組,
可以通過 .gitignore.npmignore 檔案忽略

釋出成功之後可以去npm官網搜尋一下,是否已經存在
npm

釋出過程可能會遇到這樣的一個問題

使用 cnpm 的注意報錯:
no_perms Private mode enable, only admin can publish this module
設定回原本的就可以了
npm config set registry registry.npmjs.org
釋出完成之後,如果還想回到之前的cnpm,使用下面的命令
npm config set registry registry.npm.taobao.org

4.建立一個案例,引用剛上傳的包

假設已經成功釋出了,並且包名叫做toniqian-test-module
這時候可以新建一個空目錄,cd進去,執行npm install toniqian-test-module,然後在這個目錄下會出現一個叫node_modules的資料夾,你之前寫的包就會出現在這個資料夾下面。

然後寫一個index.js,程式碼如下

var test = require('toniqian-test-module');
test.showMsg();複製程式碼

執行index.js

node index.js複製程式碼

執行結果顯示

This is my first module複製程式碼

那麼剛剛上傳的包,目前已經可以使用,到目前的話,
你已經成功建立了一個npm包了

5.如何更新npm包

當你包的內容修改之後,比如

exports.showMsg = function () {
  console.log("This is my second module");
};複製程式碼

修改了提示文字,那麼我們需要 npm version
update_type就是版本號的意思,會自動更新package.json裡面的版本號
然後重新 npm publish,更新就會完成

6.總結

建立一個npm包的過程就是這樣的,如果期間還有什麼問題,歡迎留言,感謝

相關文章