npm 是Node 的模塊管理器,功能極其強大。 它是Node 得到成功的重要緣由之一。 正由於有了npm,咱們只要一行命令,就能安裝別人寫好的模塊。html
npm的基礎知識這邊就不作表述的,下面提供一些npm基礎知識的參考
npm官網
npm 模塊安裝機制簡介node
那麼下面來介紹一下,如何建立本身的第一個node模塊,並把這個模塊上傳到npm上面,讓別人能夠用咱們的模塊git
Node.js模塊就是發佈到npm的代碼包,npm
建立一個新模塊的第一步就是建立一個package.json文件。
你能夠用npm init來建立package.json文件。
這個過程當中命令行會逐步提示你輸入這個模塊的信息,
其中模塊的名字和版本號是必填項json
建立好的package.json是長這樣的bash
你還須要一個入口文件,
若是你使用默認值的話,那就會是index.js.
建立完package.json文件以後,你就要開始寫代碼包裏的內容了,
這裏舉個最簡單的例子,在默認的index.js裏寫一個要導出的函數,
這個函數也就是別人的代碼裏能夠import或者require的。服務器
exports.showMsg = function () {
console.log("This is my first module");
};複製代碼
這樣的話,你的node模塊就已經建立完成了函數
登陸須要輸入用戶名,密碼,還有郵箱,這些都是剛剛註冊時候填寫的ui
npm publish 發佈包
發佈過程會把整個目錄發佈,不想發佈的內容模塊,
能夠經過 .gitignore 或 .npmignore 文件忽略this
發佈成功以後能夠去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
假設已經成功發佈了,而且包名叫作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包了
當你包的內容修改以後,好比
exports.showMsg = function () {
console.log("This is my second module");
};複製代碼
修改了提示文字,那麼咱們須要 npm version
update_type就是版本號的意思,會自動更新package.json裏面的版本號
而後從新 npm publish,更新就會完成