Node.js模块封装及使用方法


Posted in Javascript onMarch 06, 2016

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文件,这样就封装了一个模块。

Node.js模块封装及使用方法

二、封装模块的使用

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

1.创建名readwords文件夹

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

Node.js模块封装及使用方法

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

Node.js模块封装及使用方法

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查看结果

以上就是本文的全部内容,希望对大家的学习有所帮助。

Javascript 相关文章推荐
Jquery Ajax 学习实例2 向页面发出请求 返回JSon格式数据
Mar 15 Javascript
菜鸟javascript基础资料整理3 正则
Dec 06 Javascript
jQuery之排序组件的深入解析
Jun 19 Javascript
jquery实现页面百叶窗走马灯式翻滚显示效果的方法
Mar 12 Javascript
JavaScript DOM事件(笔记)
Apr 08 Javascript
jquery中的工具使用方法$.isFunction, $.isArray(), $.isWindow()
Aug 09 Javascript
基于JavaScript实现跳转提示页面
Sep 24 Javascript
js实现日历的简单算法
Jan 24 Javascript
JS实现table表格固定表头且表头随横向滚动而滚动
Oct 26 Javascript
深入浅析Node环境和浏览器的区别
Aug 14 Javascript
JS浅拷贝和深拷贝原理与实现方法分析
Feb 28 Javascript
微信小程序如何修改radio和checkbox的默认样式和图标
Jul 24 Javascript
JavaScript中三种异步上传文件方式
Mar 06 #Javascript
JavaScript中获取纯正的undefined的方法
Mar 06 #Javascript
JS面向对象编程详解
Mar 06 #Javascript
深入学习JavaScript的AngularJS框架中指令的使用方法
Mar 05 #Javascript
使用Jasmine和Karma对AngularJS页面程序进行测试
Mar 05 #Javascript
JavaScript的React框架中的JSX语法学习入门教程
Mar 05 #Javascript
在AngularJS框架中处理数据建模的方式解析
Mar 05 #Javascript
You might like
php学习笔记 php中面向对象三大特性之一[封装性]的应用
2011/06/13 PHP
解析php获取字符串的编码格式的方法(函数)
2013/06/21 PHP
thinkphp3.2.2实现生成多张缩略图的方法
2014/12/19 PHP
4种PHP异步执行的常用方式
2015/12/24 PHP
php获取服务器操作系统相关信息的方法
2016/10/08 PHP
YII2框架中excel表格导出的方法详解
2017/07/21 PHP
PHP按符号截取字符串的指定部分的实现方法
2018/09/10 PHP
巧用js提交表单轻松解决一个页面有多个提交按钮
2013/11/17 Javascript
checkbox选中与未选中判断示例
2014/08/04 Javascript
触屏中的JavaScript事件分析
2015/02/06 Javascript
angularjs在ng-repeat中使用ng-model遇到的问题
2016/01/21 Javascript
使用Javascript实现选择下拉菜单互移并排序
2016/02/23 Javascript
js仿京东轮播效果 选项卡套选项卡使用
2017/01/12 Javascript
学习JS中的DOM节点以及操作
2018/04/30 Javascript
浅析vue中的MVVM实现原理
2019/03/04 Javascript
js字符串处理之绝妙的代码
2019/04/05 Javascript
js实现带箭头的进度流程
2020/03/26 Javascript
vue3.0生命周期的示例代码
2020/09/24 Javascript
Python yield 使用浅析
2015/05/28 Python
python编程使用selenium模拟登陆淘宝实例代码
2018/01/25 Python
python数字类型math库原理解析
2020/03/02 Python
python nohup 实现远程运行不宕机操作
2020/04/16 Python
python实现飞船游戏的纵向移动
2020/04/24 Python
Keras 利用sklearn的ROC-AUC建立评价函数详解
2020/06/15 Python
美国最大的电子宠物训练产品制造商:PetSafe
2018/10/12 全球购物
匈牙利最大的健身制造商和销售商:inSPORTline
2018/10/30 全球购物
英语专业毕业生自我鉴定
2013/11/09 职场文书
煤矿班组长的职责
2013/12/25 职场文书
电子商务自荐书范文
2014/01/04 职场文书
创业计划书如何吸引他人眼球
2014/01/10 职场文书
党的群众路线教育实践活动宣传方案
2014/02/23 职场文书
人民教师求职自荐信
2014/03/12 职场文书
党员组织生活会发言材料
2014/10/17 职场文书
党纪处分决定书
2015/06/24 职场文书
创业计划书之校园跑腿公司
2019/09/24 职场文书
mysql5.6主从搭建以及不同步问题详解
2021/12/04 MySQL