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 相关文章推荐
Javascript中找到子元素在父元素内相对位置的代码
Jul 21 Javascript
浅析document.ready和window.onload的区别讲解
Dec 18 Javascript
javascript文本框内输入文字倒计数的方法
Feb 24 Javascript
详谈JavaScript的闭包及应用
Jan 17 Javascript
Node.js中.pfx后缀文件的处理方法
Mar 10 Javascript
ES6中javascript实现函数绑定及类的事件绑定功能详解
Nov 08 Javascript
angularjs使用gulp-uglify压缩后执行报错的解决方法
Mar 07 Javascript
angular2组件中定时刷新并清除定时器的实例讲解
Aug 31 Javascript
使用vue完成微信公众号网页小记(推荐)
Apr 28 Javascript
微信小程序使用npm包的方法步骤
Aug 13 Javascript
基于vue写一个全局Message组件的实现
Aug 15 Javascript
JS实现贪吃蛇游戏
Nov 15 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 ob_flush,flush在ie中缓冲无效的解决方法
2010/05/09 PHP
解析php安全性问题中的:Null 字符问题
2013/06/21 PHP
Nginx环境下PHP flush失效的解决方法
2016/10/19 PHP
thinkPHP5.0框架引入Traits功能实例分析
2017/03/18 PHP
PHP实现获取第一个中文首字母并进行排序的方法
2017/05/09 PHP
jquery.fileEveryWhere.js 一个跨浏览器的file显示插件
2011/10/24 Javascript
转义字符(\)对JavaScript中JSON.parse的影响概述
2013/07/17 Javascript
如何在node的express中使用socket.io
2014/12/15 Javascript
js实现背景图片感应鼠标变化的方法
2015/02/28 Javascript
最全面的百度地图JavaScript离线版开发
2016/09/10 Javascript
BootStrap 可编辑表Table格
2016/11/24 Javascript
jQuery按需加载轮播图(web前端性能优化)
2017/02/17 Javascript
微信小程序使用toast消息对话框提示用户忘记输入用户名或密码功能【附源码下载】
2017/12/09 Javascript
postman+json+springmvc测试批量添加实例
2018/03/31 Javascript
js统计页面上每个标签的数量实例代码
2018/05/29 Javascript
关于layui的动态图标不显示的解决方法
2019/09/04 Javascript
jQuery HTML css()方法与css类实例详解
2020/05/20 jQuery
在Python的Flask中使用WTForms表单框架的基础教程
2016/06/07 Python
Python实现的旋转数组功能算法示例
2019/02/23 Python
详解小白之KMP算法及python实现
2019/04/04 Python
python实现的按要求生成手机号功能示例
2019/10/08 Python
使用python3批量下载rbsp数据的示例代码
2019/12/20 Python
kafka监控获取指定topic的消息总量示例
2019/12/23 Python
Python使用Selenium实现淘宝抢单的流程分析
2020/06/23 Python
你不知道的5个HTML5新功能
2016/06/28 HTML / CSS
AmazeUI 缩略图的实现示例
2020/08/18 HTML / CSS
UNIX命令速查表
2012/03/10 面试题
综合办公室主任职责
2013/12/16 职场文书
主持人演讲稿范文
2013/12/28 职场文书
学校大课间活动方案
2014/01/30 职场文书
2014年百日安全生产活动总结
2014/05/04 职场文书
2014年党员承诺书范文
2014/05/20 职场文书
环卫工人先进事迹材料
2014/06/02 职场文书
护士个人年终总结
2015/02/13 职场文书
数据库的高级查询六:表连接查询:外连接(左外连接,右外连接,UNION关键字,连接中ON与WHERE的不同)
2021/04/05 MySQL
在JavaScript中如何使用宏详解
2021/05/06 Javascript