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 相关文章推荐
对xmlHttp对象的理解
Jan 17 Javascript
js+css使DIV始终居于屏幕中间 左下 左上 右上 右下的代码集合
Mar 10 Javascript
一张Web前端的思维导图分享
Jul 03 Javascript
javascript实现图片左右滚动效果【可自动滚动,有左右按钮】
Sep 19 Javascript
Javascript 实现全屏滚动实例代码
Dec 31 Javascript
js中编码函数:escape,encodeURI与encodeURIComponent详解
Mar 21 Javascript
javascript中this用法实例详解
Apr 06 Javascript
基于JS递归函数细化认识及实用实例(推荐)
Aug 07 Javascript
angular写一个列表的选择全选交互组件的示例
Jan 22 Javascript
ES6中的迭代器、Generator函数及Generator函数的异步操作方法
May 12 Javascript
微信小程序scroll-view隐藏滚动条的方法详解
Mar 25 Javascript
微信小程序实现多行文字滚动
Nov 18 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封装分页函数实现文本分页和数字分页
2014/10/23 PHP
基于laravel制作APP接口(API)
2016/03/15 PHP
Yii 2.0在Grid中格式化时间方法示例
2017/06/06 PHP
thinkphp5 URL和路由的功能详解与实例
2017/12/26 PHP
syntaxhighlighter 使用方法
2007/07/02 Javascript
JQuery从头学起第二讲
2010/07/04 Javascript
javascript数字格式化通用类 accounting.js使用
2012/08/24 Javascript
jquery弹出框的用法示例(一)
2013/08/26 Javascript
超简单JS二级、多级联动的简单实例
2014/02/18 Javascript
js实现图片从左往右渐变切换效果的方法
2015/02/06 Javascript
深入浅析同源策略和跨域访问
2015/11/26 Javascript
Vue.js计算属性computed与watch(5)
2016/12/09 Javascript
Bootstrap table使用方法详细介绍
2016/12/09 Javascript
日期时间范围选择插件:daterangepicker使用总结(必看篇)
2017/09/14 Javascript
从0到1构建vueSSR项目之路由的构建
2019/03/07 Javascript
jquery+php后台实现省市区联动功能示例
2019/05/23 jQuery
js实现时钟定时器
2020/03/26 Javascript
[38:21]2018DOTA2亚洲邀请赛3月30日 小组赛A组 LGD VS Newbee
2018/03/31 DOTA
python基于xml parse实现解析cdatasection数据
2014/09/30 Python
python中类变量与成员变量的使用注意点总结
2017/04/29 Python
python解决js文件utf-8编码乱码问题(推荐)
2018/05/02 Python
解析Python的缩进规则的使用
2019/01/16 Python
Pytorch之卷积层的使用详解
2019/12/31 Python
使用PyTorch训练一个图像分类器实例
2020/01/08 Python
jupyter notebook 实现matplotlib图动态刷新
2020/04/22 Python
美国旅游网站:Tours4Fun
2017/02/17 全球购物
Moda Italia荷兰:意大利男士服装
2019/08/31 全球购物
财务管理个人自荐书范文
2013/11/24 职场文书
幼儿园毕业教师感言
2014/02/21 职场文书
2014年社区重阳节活动策划方案
2014/09/16 职场文书
学校领导四风问题整改措施思想汇报
2014/10/09 职场文书
项目经理岗位职责
2015/01/31 职场文书
2016高三毕业赠言寄语
2015/12/04 职场文书
关于社会实践的心得体会(2016最新版)
2016/01/25 职场文书
2007年老电脑安装win11会怎么样? 网友实测win11在老电脑运行良好
2021/11/21 数码科技
Tomcat执行startup.bat出现闪退的原因及解决办法
2022/04/20 Servers