快速掌握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 动态添加表格行 使用模板、标记
Oct 24 Javascript
线路分流自动智能跳转代码,自动选择最快镜像网站(js)
Oct 31 Javascript
js中的onchange和onpropertychange (onchange无效的解决方法)
Mar 08 Javascript
js实现正方形颜色从下往上升的效果
Aug 04 Javascript
JavaScript检测弹出窗口是否已经关闭的方法
Mar 24 Javascript
JQuery记住用户名密码实现下次自动登录功能
Apr 27 Javascript
tab栏切换原理
Mar 22 Javascript
AngularJS前端页面操作之用户修改密码功能示例
Mar 27 Javascript
深入理解ES6的迭代器与生成器
Aug 19 Javascript
vue安装遇到的5个报错及解决方法
Jun 12 Javascript
在微信小程序中渲染HTML内容3种解决方案及分析与问题解决
Jan 12 Javascript
JavaScript计算出两个数的差值
Mar 19 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设计模式之装饰者模式
2012/02/29 PHP
php构造方法中析构方法在继承中的表现
2016/04/12 PHP
ThinkPHP中获取指定日期后工作日的具体日期方法
2018/10/14 PHP
自写的一个jQuery圆角插件
2010/10/26 Javascript
jquery 圆形旋转图片滚动切换效果
2011/01/19 Javascript
做web开发 先学JavaScript
2014/12/12 Javascript
jQuery选择器源码解读(四):tokenize方法的Expr.preFilter
2015/03/31 Javascript
JavaScript中指定函数名称的相关方法
2015/06/04 Javascript
js实现跨域的几种方法汇总(图片ping、JSONP和CORS)
2015/10/25 Javascript
jQuery3.0中的buildFragment私有函数详解
2016/08/16 Javascript
原生JS+Canvas实现五子棋游戏实例
2017/06/19 Javascript
微信小程序支付功能 php后台对接完整代码分享
2018/06/12 Javascript
Vue+Java 通过websocket实现服务器与客户端双向通信操作
2020/09/22 Javascript
Python内置函数dir详解
2015/04/14 Python
python遍历目录的方法小结
2016/04/28 Python
Python中functools模块函数解析
2017/03/12 Python
python3+PyQt5 自定义窗口部件--使用窗口部件样式表的方法
2019/06/26 Python
Python中拆分字符串的操作方法
2019/07/23 Python
Flask框架单例模式实现方法详解
2019/07/31 Python
TensorFlow车牌识别完整版代码(含车牌数据集)
2019/08/05 Python
python matplotlib库直方图绘制详解
2019/08/10 Python
python os模块在系统管理中的应用
2020/06/22 Python
链表面试题-一个链表的结点结构
2015/05/04 面试题
金士达面试非笔试
2012/03/14 面试题
民族团结先进个人材料
2014/02/05 职场文书
工会主席岗位责任制
2014/02/11 职场文书
在校大学生个人的自我评价
2014/02/13 职场文书
法定代表人授权委托书范本
2014/10/07 职场文书
2015年助理工程师工作总结
2015/04/03 职场文书
小学三年级数学教学反思
2016/02/16 职场文书
JVM上高性能数据格式库包Apache Arrow入门和架构详解(Gkatziouras)
2021/05/26 Servers
拒绝盗图!教你怎么用python给图片加水印
2021/06/04 Python
原生Javascript+HTML5一步步实现拖拽排序
2021/06/12 Javascript
Redis读写分离搭建的完整步骤
2021/09/14 Redis
零基础学java之带返回值的方法的定义和调用
2022/04/10 Java/Android
Redis入门基础常用操作命令整理
2022/06/01 Redis