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 相关文章推荐
ExtJs 3.1 XmlTreeLoader Example Error
Feb 09 Javascript
jQuery的.live()和.die() 使用介绍
Sep 10 Javascript
javascript + jquery实现定时修改文章标题
Mar 19 Javascript
JS小游戏之象棋暗棋源码详解
Sep 25 Javascript
JavaScript使用addEventListener添加事件监听用法实例
Jun 01 Javascript
14 个折磨人的 JavaScript 面试题
Aug 08 Javascript
jQuery图片瀑布流的简单实现代码
Mar 15 Javascript
值得分享和收藏的xmlplus组件学习教程
May 05 Javascript
CheckBox多选取值及判断CheckBox选中是否为空的实例
Oct 31 Javascript
JS中touchstart事件与click事件冲突的解决方法
Mar 12 Javascript
原生JavaScript实现拖动校验功能
Sep 29 Javascript
React更新渲染原理深入分析
Dec 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
header中Content-Disposition的作用与使用方法
2012/06/13 PHP
php去掉URL网址中带有PHPSESSID的配置方法
2014/07/08 PHP
Laravel框架在本地虚拟机快速安装的方法详解
2018/06/11 PHP
简单实例处理url特殊符号&处理(2种方法)
2013/04/02 Javascript
JS实现浏览器状态栏文字从右向左弹出效果代码
2015/10/27 Javascript
JavaScript如何获取数组最大值和最小值
2015/11/18 Javascript
详解vuex 中的 state 在组件中如何监听
2017/05/23 Javascript
微信小程序 转发功能的实现
2017/08/04 Javascript
jQuery实现文字超过1行、2行或规定的行数时自动加省略号的方法
2018/03/28 jQuery
jQuery中ajax请求后台返回json数据并渲染HTML的方法
2018/08/08 jQuery
react组件从搭建脚手架到在npm发布的步骤实现
2019/01/09 Javascript
从零撸一个pc端vue的ui组件库( 计数器组件 )
2019/08/08 Javascript
webpack常用配置总览(小结)
2019/11/18 Javascript
[03:06]2018年度CS GO最具人气解说-完美盛典
2018/12/16 DOTA
Python简单调用MySQL存储过程并获得返回值的方法
2015/07/20 Python
django1.8使用表单上传文件的实现方法
2016/11/04 Python
Python3学习笔记之列表方法示例详解
2017/10/06 Python
Python 字符串换行的多种方式
2018/09/06 Python
python re正则匹配网页中图片url地址的方法
2018/12/20 Python
python模拟键盘输入 切换键盘布局过程解析
2019/08/15 Python
Python流程控制常用工具详解
2020/02/24 Python
python退出循环的方法
2020/06/18 Python
如何在Anaconda中打开python自带idle
2020/09/21 Python
来自美国主售篮球鞋的零售商店:KICKSUSA
2017/11/28 全球购物
高级护理实习生自荐信
2013/09/28 职场文书
会计专业个人求职信范文
2014/01/08 职场文书
行政办公室岗位职责
2014/03/18 职场文书
关于读书的演讲稿1000字
2014/08/27 职场文书
商务代表岗位职责
2015/02/15 职场文书
家长会开场白和结束语
2015/05/29 职场文书
公司处罚决定书
2015/06/24 职场文书
2015年街道办事处团委工作总结
2015/10/14 职场文书
反邪教教育心得体会
2016/01/15 职场文书
七年级英语教学反思
2016/02/15 职场文书
工作自我评价范文
2019/03/21 职场文书
python代码实现扫码关注公众号登录的实战
2021/11/01 Python