快速掌握Node.js模块封装及使用
作者:bea
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 cu
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查看结果
以上就是本文的全部内容,希望对大家的学习有所帮助。
猜你喜欢
您可能感兴趣的文章:
- JS中多种方式创建对象详解
- 基于jquery实现无限级树形菜单
- javascript的几种继承方法介绍
- 基于javascript实现文字无缝滚动效果
- ajax在兼容模式下失效的快速解决方法
- jquery仿QQ登录账号选择下拉框效果
- 详述JavaScript实现继承的几种方式(推荐)
- jQuery toggle 代替方法
- 一款简单的jQuery图片标注效果附源码下载
- 酷炫jQuery全屏3D焦点图动画效果
- 浅析C/C++,Java,PHP,JavaScript,Json数组、对象赋值时最后一个元素后面是否可以带逗号
- 使用struts2+Ajax+jquery验证用户名是否已被注册
- 使用getBoundingClientRect方法实现简洁的sticky组件的方法
- Node.js文件操作方法汇总
- 浅谈Sticky组件的改进实现
- 使用Sticky组件实现带sticky效果的tab导航和滚动导航的方法
- 关于JS中match() 和 exec() 返回值和属性的测试
- 快速掌握Node.js中setTimeout和setInterval的使用方法
- 快速掌握Node.js事件驱动模型