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,更新就會完成