快速掌握Node.js模塊封裝及使用
Node.js中也有一些功能的封裝,類似C#的類庫,封裝成模塊這樣方便使用,安裝之后用require()就能引入調(diào)用.
一、Node.js模塊封裝
1.創(chuàng)建一個(gè)名為censorify的文件夾
2.在censorify下創(chuàng)建3個(gè)文件censortext.js、package.json、README.md文件
1)、在censortext.js下輸入一個(gè)過濾特定單詞并用星號代替的函數(shù)。
var censoredWorlds=["sad","bad","mad"]; var custormCensoredWords=[]; function censor(inStr) { for(idx in censoredWorlds) { inStr=inStr.replace(censoredWorlds[idx],"****"); } for(idx in custormCensoredWords) { inStr=inStr.replace(custormCensoredWords[idx],"****"); } return inStr; } function addCensoreWorld(world) { custormCensoredWords.push(world); } function getCensoreWorlds() { return censoredWorlds.concat(custormCensoredWords); } exports.censor=censor; exports.addCensoreWorld=addCensoreWorld; exports.getCensoreWorlds=getCensoreWorlds;
2)、在package中配置清單信息 例如版本 名稱和main指令等。
{ "author":"cuiyanwei", "name":"censority", "version":"0.1.1", "description":"Censors words out of text", "main":"censortext", "dependencies":{ "express":"latest" }, "enginee":{ "node":"*" } }
3)、創(chuàng)建的README.md文件主要是描述說明
3.使用命令行創(chuàng)建封裝模塊
使用命令行導(dǎo)航到censorify文件夾下,然后使用命令 npm pack 封裝生成tgz文件,這樣就封裝了一個(gè)模塊。
二、封裝模塊的使用
封裝模塊的使用有兩種方法 :發(fā)布到NPM注冊表、本地使用,這里只記錄下本地使用的方法.
1.創(chuàng)建名readwords文件夾
2.命令行導(dǎo)航到readwords文件夾下,然后安裝已經(jīng)封裝好的模塊,如果是已經(jīng)發(fā)布到NPM注冊表的直接 npm install 名字,如果是在本地 npm install tgz文件路徑。
3.安裝完成后會在readwords文件夾下生成包含censority子文件夾的node_modules文件夾
4.新建readwords.js文件測試(注意代碼console、封裝模塊的函數(shù)別寫錯(cuò)了)
var censor=require("censority"); console.log(censor.getCensoreWorlds()); console.log(censor.censor("Some very sad,bad and mad text")); censor.addCensoreWorld("gloomy"); console.log(censor.getCensoreWorlds()); console.log(censor.censor("A very goolmy day."));
5.使用
用命令行node readwords.js來調(diào)用readwords.js查看結(jié)果
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助。
相關(guān)文章
Node.js數(shù)據(jù)流Stream之Readable流和Writable流用法
這篇文章介紹了Node.js數(shù)據(jù)流Stream之Readable流和Writable流的用法,文中通過示例代碼介紹的非常詳細(xì)。對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2022-07-07node 利用進(jìn)程通信實(shí)現(xiàn)Cluster共享內(nèi)存
本篇文章主要介紹了node 利用進(jìn)程通信實(shí)現(xiàn)Cluster共享內(nèi)存,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-10-10如何利用node實(shí)現(xiàn)發(fā)送QQ郵箱驗(yàn)證碼
我們在開發(fā)網(wǎng)站時(shí),發(fā)送驗(yàn)證碼的功能是必定會遇到的,下面這篇文章主要給大家介紹了關(guān)于如何利用node實(shí)現(xiàn)發(fā)送QQ郵箱驗(yàn)證碼的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-04-04Node.js巧妙實(shí)現(xiàn)Web應(yīng)用代碼熱更新
本文給大家講解的是Node.js的代碼熱更新的問題,其主要實(shí)現(xiàn)原理 是怎么對 module 對象做處理,也就是手工監(jiān)聽文件修改, 然后清楚模塊緩存, 重新掛載模塊,思路清晰考慮細(xì)致, 雖然有點(diǎn)冗余代碼,但還是推薦給大家2015-10-10詳解Nodejs get獲取遠(yuǎn)程服務(wù)器接口數(shù)據(jù)
這篇文章主要介紹了Nodejs get獲取遠(yuǎn)程服務(wù)器接口數(shù)據(jù),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-03-03NodeJS學(xué)習(xí)筆記之網(wǎng)絡(luò)編程
Node.js采用了Google Chrome瀏覽器的V8引擎,性能很好,同時(shí)還提供了很多系統(tǒng)級的API,如文件操作、網(wǎng)絡(luò)編程等。Node.js則是一個(gè)全面的后臺運(yùn)行時(shí),為Javascript提供了其他語言能夠?qū)崿F(xiàn)的許多功能。今天我們來看下Nodejs的網(wǎng)絡(luò)編程2014-08-08