Node.js模块封装及使用

MazieForsyt 9年前

来自: http://www.cnblogs.com/5ishare/p/5246509.html

Node.js中也有一些功能的封装,类似C#的类库,封装成模块这样方便使用,安装之后用require()就能引入调用.

一、Node.js模块封装

1.创建一个名为censorify的文件夹

2.在censorify下创建3个文件censortext.js、package.json、README.md文件

1)、在censortext.js下输入一个过滤特定单词并用星号代替的函数。

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)、创建的README.md文件主要是描述说明

3.使用命令行创建封装模块

使用命令行导航到censorify文件夹下,然后使用命令 npm pack 封装生成tgz文件,这样就封装了一个模块。

二、封装模块的使用

封装模块的使用有两种方法 :发布到NPM注册表、本地使用,这里只记录下本地使用的方法.

1.创建名readwords文件夹

2.命令行导航到readwords文件夹下,然后安装已经封装好的模块,如果是已经发布到NPM注册表的直接 npm install 名字,如果是在本地 npm install tgz文件路径。

3.安装完成后会在readwords文件夹下生成包含censority子文件夹的node_modules文件夹

4.新建readwords.js文件测试(注意代码console、封装模块的函数别写错了)

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来调用readwords.js查看结果