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

1.npm是什麼?

npm 是Node 的模塊管理器,功能極其強大。 它是Node 得到成功的重要緣由之一。 正由於有了npm,咱們只要一行命令,就能安裝別人寫好的模塊。html

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

那麼下面來介紹一下,如何建立本身的第一個node模塊,並把這個模塊上傳到npm上面,讓別人能夠用咱們的模塊git


2.建立第一個node模塊

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模塊就已經建立完成了函數

3.如何發佈到npm服務器上

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

登陸須要輸入用戶名,密碼,還有郵箱,這些都是剛剛註冊時候填寫的ui

3.3.開始發佈

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

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包的過程就是這樣的,若是期間還有什麼問題,歡迎留言,感謝
相關文章
相關標籤/搜索