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 使用个人心得
Feb 26 Javascript
JavaScript Sort 表格排序
Oct 31 Javascript
JavaScript格式化数字的函数代码
Nov 30 Javascript
jQuery+css实现图片滚动效果(附源码)
Mar 18 Javascript
Js类的静态方法与实例方法区分及jQuery拓展的两种方法
Jun 03 Javascript
JavaScript将DOM事件处理程序封装为event.js 出现的低级错误问题
Aug 03 Javascript
使用JS在浏览器中判断当前网络连接状态的几种方法
May 05 Javascript
详解react使用react-bootstrap当轮子造车
Aug 15 Javascript
node前端模板引擎Jade之标签的基本写法
May 11 Javascript
MVVM 双向绑定的实现代码
Jun 21 Javascript
Vue自定义指令上报Google Analytics事件统计的方法
Feb 25 Javascript
javascript实现小型区块链功能
Apr 03 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原理的opcodes(操作码)
2010/10/26 PHP
php报表之jpgraph柱状图实例代码
2011/08/22 PHP
php实现的读取CSV文件函数示例
2017/02/07 PHP
PHP实现字符串的全排列详解
2019/04/24 PHP
javascript操作文本框readOnly
2007/05/15 Javascript
Javascript attachEvent传递参数的办法
2009/12/14 Javascript
javascript 静态对象和构造函数的使用和公私问题
2010/03/02 Javascript
Jquery截取中文字符串的实现代码
2010/12/22 Javascript
JavaScript XML和string相互转化实现代码
2011/07/04 Javascript
Node.js操作Firebird数据库教程
2016/03/04 Javascript
JavaScript中数组Array方法详解
2017/02/27 Javascript
jquery对table做排序操作的实例演示
2017/08/10 jQuery
Vue.js实现网格列表布局转换方法
2017/08/25 Javascript
JS库particles.js创建超炫背景粒子插件(附源码下载)
2017/09/13 Javascript
js通过Date对象实现倒计时动画效果
2017/10/27 Javascript
jQuery实现菜单的显示和隐藏功能示例
2018/07/24 jQuery
vue-cli 打包后提交到线上出现 "Uncaught SyntaxError:Unexpected token" 报错
2018/11/06 Javascript
微信小程序实现swiper切换卡内嵌滚动条不显示的方法示例
2018/12/20 Javascript
在vue中获取wangeditor的html和text的操作
2020/10/23 Javascript
Python中给List添加元素的4种方法分享
2014/11/28 Python
Python中的Matplotlib模块入门教程
2015/04/15 Python
Python的Tornado框架实现异步非阻塞访问数据库的示例
2016/06/30 Python
详解python和matlab的优势与区别
2019/06/28 Python
使用python获取邮箱邮件的设置方法
2019/09/20 Python
学习Python需要哪些工具
2020/09/04 Python
python中pyplot基础图标函数整理
2020/11/10 Python
安装python依赖包psycopg2来调用postgresql的操作
2021/01/01 Python
HTML5中5个简单实用的API
2014/04/28 HTML / CSS
澳大利亚礼品篮网站:Macarthur Baskets
2019/10/14 全球购物
在校学生职业规划范文
2014/01/08 职场文书
自主招生推荐信范文
2014/05/10 职场文书
政风行风评议整改方案
2014/09/15 职场文书
综合素质评价个性发展自我评价
2015/03/06 职场文书
中小学生安全教育观后感
2015/06/17 职场文书
化工厂员工工作总结
2015/10/15 职场文书
python微信智能AI机器人实现多种支付方式
2022/04/12 Python