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 学习笔记 选择器之二
Jul 23 Javascript
Javascript 读取操作Sql中的Xml字段
Oct 09 Javascript
浅谈javascript原型链与继承
Jul 13 Javascript
JavaScript编写检测用户所使用的浏览器的代码示例
May 05 Javascript
Angular 2应用的8个主要构造块有哪些
Oct 17 Javascript
详解jQuery中基本的动画方法
Dec 14 Javascript
AngularJS使用ng-inlude指令加载页面失败的原因与解决方法
Jan 19 Javascript
Ionic项目中Native Camera的使用方法
Jun 07 Javascript
jQuery 实现双击编辑表格功能
Jun 19 jQuery
微信小程序自定义弹窗wcPop插件
Nov 19 Javascript
JS回调函数 callback的理解与使用案例分析
Sep 09 Javascript
原生js实现九宫格拖拽换位
Jan 26 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中关于普通表单多文件上传的处理方法
2011/03/25 PHP
PHP引用符&的用法详细解析
2013/08/22 PHP
php中hashtable实现示例分享
2014/02/13 PHP
ThinkPHP使用心得分享-分页类Page的用法
2014/05/15 PHP
PHP简单装饰器模式实现与用法示例
2017/06/22 PHP
JavaScript中String和StringBuffer的速度之争
2010/04/01 Javascript
js URL参数的拼接方法比较
2012/02/15 Javascript
JavaScript 语言基础知识点总结(思维导图)
2013/11/10 Javascript
jquery进行数组遍历如何跳出当前的each循环
2014/06/05 Javascript
node.js中的fs.utimesSync方法使用说明
2014/12/15 Javascript
分享一个自己写的简单的javascript分页组件
2015/02/15 Javascript
关于事件mouseover ,mouseout ,mouseenter,mouseleave的区别
2015/10/12 Javascript
JavaScript设置、获取、清除单值和多值cookie的方法
2015/11/17 Javascript
JavaScript操作HTML DOM节点的基础教程
2016/03/11 Javascript
AngularJS 让人爱不释手的八种功能
2016/03/23 Javascript
Google 地图API Map()构造器详解
2016/08/06 Javascript
Angular中$cacheFactory的作用和用法实例详解
2016/08/19 Javascript
JS异步函数队列功能实例分析
2017/11/28 Javascript
在Vuex使用dispatch和commit来调用mutations的区别详解
2018/09/18 Javascript
vue 解决computed修改data数据的问题
2019/11/06 Javascript
[36:09]Secret vs VG 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.24
2019/09/10 DOTA
python中的闭包用法实例详解
2015/05/05 Python
Python中super的用法实例
2015/05/28 Python
python自动发邮件库yagmail的示例代码
2018/02/23 Python
python 如何将office文件转换为PDF
2020/09/22 Python
Scrapy实现模拟登录的示例代码
2021/02/21 Python
html5文本内容_动力节点Java学院整理
2017/07/11 HTML / CSS
某个公司的Java笔面试题
2016/03/11 面试题
西门豹教学反思
2014/02/04 职场文书
精彩的广告词
2014/03/19 职场文书
英语一分钟演讲稿
2014/04/29 职场文书
环保专项行动方案
2014/05/12 职场文书
《去年的树》教学反思
2016/02/18 职场文书
Mysql 如何实现多张无关联表查询数据并分页
2021/06/05 MySQL
node.js使用express-fileupload中间件实现文件上传
2021/07/16 Javascript
js中Object.create实例用法详解
2021/10/05 Javascript