nodejs 是一門年輕的語言,擴充套件模組並不太全,經常我們想用某個模組但是卻找不到合適的。比如前兩天我需要使用hmac和sha1來做簽名,就沒有找到乙個比較好用的模組,這時候就需要我們自己來實現相應的功能了。自己寫完之後,再把它打包成乙個模組分享給大家來用,即方便了其他人,又能讓自己有點小小的成就感,實在是一件一舉多得的好事情。接下來,我就為大家介紹一下如何封裝乙個nodejs模組並把它分享給其他人。
npm (node package manager, ) 是 nodejs 的模組管理軟體,除 nodejs 內建的核心模組外,其他模組的安裝、解除安裝等管理操作都要通過 npm 來進行,我們自己寫的模組,就要發布到npm上來供其他人使用。
接下來,我們做乙個非常簡單的模組 「hello」,這個模組的功能只有乙個:提供乙個引數 「name」 ,它在控制台輸出 「hello name」。在開始之前,我們首先要把node和npm裝好,安裝方法在其官方**都有介紹,這裡就不再多說了。
首先,我們建立乙個名為」hello」的目錄,作為模組的主目錄。進入該目錄,開始我們的工作。
然後,寫模組的核心**,很簡單,只有以下三行:
exports.hello = function ( name )把它儲存為 hello.js。
nodejs每個擴充套件模組中都有乙個package.json檔案,用來描述模組的一些基本屬性,比如模組名稱、作者、版本號等等。關於package.json寫法的詳細說明,可以使用 「npm help json」 命令來檢視。
我們可以在模組主目錄下執行 npm init 來生成乙個最基本的package.json。按照命令的提示依次輸入資訊即可。以下是在 hello 目錄下執行 npm init 並填入相關資訊後的結果:
[plain]view plain
copy
$npminit
packagename:(hello)//模組名字,npminit會自動取當前目錄名作為預設名字,這裡不需要改,直接確認即可
description:aexampleforwriteamodule//模組說明
packageversion:(0.0.0)0.0.1//模組版本號,這個大家按自己習慣來定就可以
projecthomepage:(none)//模組的主頁,如果有的話可以填在這裡,也可以不填
projectgitrepository:(none)//模組的git倉庫,選填。npm的使用者一般都使用github做為自己的git倉庫
authorname:elmerzhang//模組作者名字
authoremail:(none)[email protected]//模組作者郵箱
authorurl:(none)模組作者url
mainmodule/entrypoint:(none)hello.js//模組的入口檔案,我們這裡是hello.js
(這個必填)
testcommand:(none)//測試指令碼,選填
whatversionsofnodedoesitrunon?(~v0.5.7)*//依賴的node版本號,我們這個指令碼可以執行在任何版本的node上,因此填*
abouttowriteto/home/elmer/hello/package.json
//以下是生成的package.json檔案內容預覽
,"main":"hello.js",
"engines":,
"dependencies":{},
"devdependencies":{}
}isthisok?(yes)//對以上內容確認無誤後,就可以直接回車確認了
到此為止,我們這個模組就寫完了。這時hello目錄下應該有兩個檔案:hello.js和package.json。
我們可以返回到hello的上級目錄,來測試安裝一下這個模組:
$ npm install hello/顯示安裝成功。簡單的測試一下:[email protected] ./node_modules/hello
$ node正確輸出了」hello world」。> var hello = require('hello').hello;
> hello('world');
hello world
接下來我們把它發布到npm上。
首先,我們需要有乙個npm帳號,可以使用npm adduser來註冊乙個:
$ npm adduser簡單三步,乙個npm使用者註冊成功。username: elmerzhang
password:
email: [email protected]
最後回到 hello 根目錄,執行一下npm publish,如果沒有任何錯誤提示,那麼就發布成功了。去上看一下吧,你的模組應該已經顯示在」latest updates」一欄裡了。
至此,乙個nodejs模組成功發布到npm,以後就可以在任何能訪問npm庫的地方通過npm install來安裝你的模組了。
如何把 nodejs 模組發布到 npm
node 開發者習慣使用 npm 來管理模組.當我們把 發布到 npm 不但方便自己在專案中 require 進來,還可以把自己的 分享給別人.首先需要乙個 npm 的賬號.可以在 網上註冊,或者 npm adduser 然後登陸這個賬號 npm login,按照提示填入使用者名稱,密碼,郵箱 準備...
使用npm製作CMD命令
製作乙個npm包,讓你可以在命令列執行你自己的命令,然後自定義一些操作 類似於各種vue cli或其他各種腳手架,通過執行vue命令,去建立乙個專案 建立乙個資料夾,作為你的npm包的目錄 以command test為例 bin屬性用於配置命令 其中mycommand為命令名稱,之後執行時使用的 m...
nodejs模組使用(Mac)
nodejs模組的三種使用方法 直接使用npm安裝,使用package.json結合npm配量管理,使用本地模組 一,直接使用npm安裝 最直接的安裝方法 a.當前工程可用 npm install 模組名稱 b.所有工程可用 npm install g 模組名稱 二,使用package.json結合...