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 jcrop插件截图使用方法
Nov 20 Javascript
Jquery ajaxStart()与ajaxStop()方法(实例讲解)
Dec 18 Javascript
JavaScript删除指定子元素代码实例
Jan 13 Javascript
Javascript的无new构建实例详解
May 15 Javascript
JS实现简单易用的手机端浮动窗口显示效果
Sep 07 Javascript
详解React+Koa实现服务端渲染(SSR)
May 23 Javascript
vue自定义指令的创建和使用方法实例分析
Dec 04 Javascript
Egg Vue SSR 服务端渲染数据请求与asyncData
Nov 24 Javascript
JS字符串补全方法padStart()和padEnd()
May 27 Javascript
修改Vue打包后的默认文件名操作
Aug 12 Javascript
基于Vant UI框架实现时间段选择器
Dec 24 Javascript
TS 类型收窄教程示例详解
Sep 23 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学习教程之第1天
2008/06/15 PHP
php关键字仅替换一次的实现函数
2015/10/29 PHP
Zend Framework+smarty用法实例详解
2016/03/19 PHP
php resizeimage 部分jpg文件 生成缩略图失败的原因分析及解决办法
2016/03/23 PHP
php写一个函数,实现扫描并打印出自定目录下(含子目录)所有jpg文件名
2017/05/26 PHP
Thinkphp 框架基础之入口文件功能、定义与用法分析
2020/04/27 PHP
JQUERY对单选框(radio)操作的小例子
2013/04/25 Javascript
jQuery图片切换插件jquery.cycle.js使用示例
2014/06/16 Javascript
js实现表单检测及表单提示的方法
2015/08/14 Javascript
js实现全国省份城市级联下拉菜单效果代码
2015/09/07 Javascript
JS实现图片预览的两种方式
2017/06/27 Javascript
详解如何在React组件“外”使用父组件的Props
2018/01/12 Javascript
vue中组件的过渡动画及实现代码
2018/11/21 Javascript
基于vue+echarts 数据可视化大屏展示的方法示例
2020/03/09 Javascript
Vue Render函数创建DOM节点代码实例
2020/07/08 Javascript
[07:52]2014DOTA2 TI逗比武士游V社解说背后的故事
2014/07/10 DOTA
[01:31:22]Ti4 循环赛第四日附加赛LGD vs Mouz
2014/07/13 DOTA
[02:23]2018DOTA2亚洲邀请赛趣味视频——反应测试
2018/04/04 DOTA
一个基于flask的web应用诞生 记录用户账户登录状态(6)
2017/04/11 Python
python中MethodType方法介绍与使用示例
2017/08/03 Python
Python cookbook(数据结构与算法)将多个映射合并为单个映射的方法
2018/04/19 Python
Python采集代理ip并判断是否可用和定时更新的方法
2018/05/07 Python
Django如何防止定时任务并发浅析
2019/05/14 Python
python实现Dijkstra算法的最短路径问题
2019/06/21 Python
python3+selenium获取页面加载的所有静态资源文件链接操作
2020/05/04 Python
深入解析HTML5的IndexedDB索引数据库
2015/09/14 HTML / CSS
三星印度官网:Samsung印度
2019/08/03 全球购物
阿姆斯特丹城市卡:Amsterdam Pass
2019/12/01 全球购物
斯洛伐克最大的婴儿食品和用品网上商店:Feedo.sk
2020/12/21 全球购物
电子商务专业在校生实习自我鉴定
2013/09/29 职场文书
幼儿园标语大全
2014/06/19 职场文书
网上祭先烈心得体会
2014/09/01 职场文书
采购员岗位职责
2015/02/03 职场文书
党员个人承诺书
2015/04/27 职场文书
2016年教师学习教师法心得体会
2016/01/20 职场文书
golang 接口嵌套实现复用的操作
2021/04/29 Golang