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 相关文章推荐
Ctrl+Enter提交内容信息
Jun 26 Javascript
javascript 全角转换实现代码
Jul 17 Javascript
Ext JS 4实现带week(星期)的日期选择控件(实战一)
Aug 21 Javascript
document.forms用法示例介绍
Jun 26 Javascript
javascript 动态创建表格
Jan 08 Javascript
JavaScript实现时间倒计时跳转(推荐)
Jun 28 Javascript
windows下vue.js开发环境搭建教程
Mar 20 Javascript
Js中将Long转换成日期格式的实现方法
Jun 05 Javascript
vue移动端微信授权登录插件封装的实例
Aug 28 Javascript
微信jssdk逻辑在vue中的运用详解
Nov 14 Javascript
解决Vue打包后访问图片/图标不显示的问题
Jul 25 Javascript
vue-cli设置publicPath小记
Apr 14 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初学者头疼十四条问题大总结
2008/11/12 PHP
jQuery获取json后使用zy_tmpl生成下拉菜单
2015/03/27 PHP
PHP实现递归复制整个文件夹的类实例
2015/08/03 PHP
php array_slice 取出数组中的一段序列实例
2016/11/04 PHP
JavaScript让IE浏览器event对象符合W3C DOM标准
2009/11/24 Javascript
Jquery 滑入滑出效果实现代码
2010/03/27 Javascript
Jquery动态进行图片缩略的原理及实现
2013/08/13 Javascript
jquery 为a标签绑定click事件示例代码
2014/06/23 Javascript
纯HTML5制作围住神经猫游戏-附源码下载
2015/08/23 Javascript
jquery实现点击其他区域时隐藏下拉div和遮罩层的方法
2015/12/23 Javascript
基于javascript实现listbox左右移动
2016/01/29 Javascript
教你JS中的运算符乘方、开方及变量格式转换
2016/08/09 Javascript
JavaScript 对象详细整理总结
2016/09/29 Javascript
JavaScript中数组Array方法详解
2017/02/27 Javascript
JavaScript拖动层Div代码
2017/03/01 Javascript
JavaScript表单验证完美代码
2017/03/02 Javascript
深入理解Vue官方文档梳理之全局API
2017/11/22 Javascript
JS随机密码生成算法
2019/09/23 Javascript
JavaScript鼠标悬停事件用法解析
2020/05/15 Javascript
js删除指定位置超链接中含有百度与360的标题
2021/01/06 Javascript
基于MTCNN/TensorFlow实现人脸检测
2018/05/24 Python
python远程连接服务器MySQL数据库
2018/07/02 Python
python使用pandas处理大数据节省内存技巧(推荐)
2019/05/05 Python
python移位运算的实现
2019/07/15 Python
pytorch数据预处理错误的解决
2020/02/20 Python
python可以用哪些数据库
2020/06/22 Python
Expedia印度尼西亚站:预订酒店、廉价航班和度假套餐
2018/01/31 全球购物
Under Armour澳大利亚官网:美国知名的高端功能性运动品牌
2018/02/22 全球购物
JPA的优势都有哪些
2013/07/04 面试题
小学教师师德演讲稿
2014/05/06 职场文书
行政监察建议书
2014/05/19 职场文书
2014党员四风对照检查材料思想汇报
2014/09/17 职场文书
党员自我剖析材料(群众路线)
2014/10/06 职场文书
同学聚会致辞集锦
2015/07/28 职场文书
初中政教处工作总结
2015/08/12 职场文书
教师学习心得体会范文
2016/01/21 职场文书