快速掌握Node.js模块封装及使用


Posted in Javascript onMarch 21, 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查看结果

快速掌握Node.js模块封装及使用

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

Javascript 相关文章推荐
JavaScript 中的replace方法说明
Apr 13 Javascript
JS实现鼠标单击与双击事件共存
Mar 08 Javascript
jQuery实现有动画淡出效果的二级折叠菜单代码
Oct 17 Javascript
js实现滚动条滚动到某个位置便自动定位某个tr
Jan 20 Javascript
使用jQuery制作浮动工具栏的实例分享
May 13 Javascript
EasyUI Combobox设置默认值 获取text的方法
Nov 28 Javascript
详解angularJs中自定义directive的数据交互
Jan 13 Javascript
jQuery监听浏览器窗口大小的变化实例
Feb 07 Javascript
bootstrap中添加额外的图标实例代码
Feb 15 Javascript
vue 怎么创建组件及组件使用方法
Jul 27 Javascript
js精确的加减乘除实例
Nov 14 Javascript
JS/HTML5游戏常用算法之碰撞检测 包围盒检测算法详解【圆形情况】
Dec 13 Javascript
JS DOM实现鼠标滑动图片效果
Sep 17 #Javascript
实践中学习AngularJS表单
Mar 21 #Javascript
javascript单页面手势滑屏切换原理详解
Mar 21 #Javascript
javascript实现dom元素可拖动
Mar 21 #Javascript
AngularJS 中的指令实践开发指南(一)
Mar 20 #Javascript
浅析AngularJS中的指令
Mar 20 #Javascript
简述Matlab中size()函数的用法
Mar 20 #Javascript
You might like
php下实现一个阿拉伯数字转中文数字的函数
2008/07/10 PHP
Yii分页用法实例详解
2014/12/04 PHP
PHP7正式版测试,性能惊艳!
2015/12/08 PHP
JavaScript设置FieldSet展开与收缩
2009/05/15 Javascript
基于JQuery制作的产品广告效果
2010/12/08 Javascript
js字符串操作方法实例分析
2015/05/06 Javascript
js中函数声明与函数表达式
2015/06/03 Javascript
JS在一定时间内跳转页面及各种刷新页面的实现方法
2016/05/26 Javascript
js动态获取子复选项并设计全选及提交的实现方法
2016/06/24 Javascript
详解js中的apply与call的用法
2016/07/30 Javascript
基于iscroll.js实现下拉刷新和上拉加载效果
2016/11/28 Javascript
在javaScript中检测数据类型的几种方式小结
2017/03/04 Javascript
angular2+nodejs实现图片上传功能
2017/03/27 NodeJs
vue.js实现数据动态响应 Vue.set的简单应用
2017/06/15 Javascript
Angular 4.x+Ionic3踩坑之Ionic3.x pop反向传值详解
2018/03/13 Javascript
简单说说如何使用vue-router插件的方法
2019/04/08 Javascript
探索JavaScript中私有成员的相关知识
2019/06/13 Javascript
[31:01]2014 DOTA2国际邀请赛中国区预选赛5.21 CNB VS Orenda
2014/05/23 DOTA
python多重继承实例
2014/10/11 Python
Pycharm设置界面全黑的方法
2018/05/23 Python
详谈Pandas中iloc和loc以及ix的区别
2018/06/08 Python
python去除文件中重复的行实例
2018/06/29 Python
解决pyinstaller打包pyqt5的问题
2019/01/08 Python
python+opencv实现摄像头调用的方法
2019/06/22 Python
python全栈知识点总结
2019/07/01 Python
Python 实现毫秒级淘宝抢购脚本的示例代码
2019/09/16 Python
Python线程threading模块用法详解
2020/02/26 Python
Python爬虫UA伪装爬取的实例讲解
2021/02/19 Python
Free People中国官网:波西米亚风格女装服饰
2016/08/30 全球购物
求职者简历中的自我评价
2013/10/20 职场文书
家长会邀请书
2014/01/25 职场文书
2014年计生标语
2014/06/23 职场文书
项目工作说明书
2014/07/29 职场文书
教师节学生演讲稿
2014/09/03 职场文书
2015年重阳节活动总结
2015/03/24 职场文书
Python词云的正确实现方法实例
2021/05/08 Python