快速掌握Node.js模块封装及使用


Posted in Javascript onMarch 21, 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查看结果

快速掌握Node.js模块封装及使用

以上就是本文的全部内容,希望对大家的学习有所帮助。

Javascript 相关文章推荐
农历与西历对照
Sep 06 Javascript
JavaScript 字符串连接性能优化
Dec 20 Javascript
在子窗口中关闭父窗口的一句代码
Oct 21 Javascript
js父窗口关闭时子窗口随之关闭完美解决方案
Apr 29 Javascript
JavaScript设置、获取、清除单值和多值cookie的方法
Nov 17 Javascript
jquery.validate表单验证插件使用方法解析
Nov 07 Javascript
Jquery Easyui日历组件Calender使用详解(23)
Dec 18 Javascript
laravel5.4+vue+element简单搭建的示例代码
Aug 29 Javascript
jQuery EasyUI开发技巧总结
Sep 26 jQuery
JS实现读取xml内容并输出到div中的方法示例
Apr 19 Javascript
详解如何更好的使用module vuex
Mar 27 Javascript
js里面的变量范围分享
Jul 18 Javascript
JS DOM实现鼠标滑动图片效果
Sep 17 #Javascript
实践中学习AngularJS表单
Mar 21 #Javascript
javascript单页面手势滑屏切换原理详解
Mar 21 #Javascript
javascript实现dom元素可拖动
Mar 21 #Javascript
AngularJS 中的指令实践开发指南(一)
Mar 20 #Javascript
浅析AngularJS中的指令
Mar 20 #Javascript
简述Matlab中size()函数的用法
Mar 20 #Javascript
You might like
Apache2 httpd.conf 中文版
2006/12/06 PHP
PHP获取163、gmail、126等邮箱联系人地址【已测试2009.10.10】
2009/10/11 PHP
PHP 源代码压缩小工具
2009/12/22 PHP
列举PHP的Yii 2框架的开发优势
2015/07/03 PHP
js基于qrcode.js生成二维码的方法【附demo插件源码下载】
2016/12/28 PHP
Laravel框架中Blade模板的用法示例
2017/08/30 PHP
详解php curl带有csrf-token验证模拟提交方法
2018/04/18 PHP
JavaScript 克隆数组最简单的方法
2009/02/12 Javascript
一个JQuery写的点击上下滚动的小例子
2011/08/27 Javascript
javascript中apply和call方法的作用及区别说明
2014/02/14 Javascript
深入理解JavaScript系列(25):设计模式之单例模式详解
2015/03/03 Javascript
JavaScript中Math.SQRT2属性的使用详解
2015/06/14 Javascript
js数组常见操作及数组与字符串相互转化实例详解
2015/11/10 Javascript
详解本地Node.js服务器作为api服务器的解决办法
2017/02/28 Javascript
jquery.flot.js简单绘制折线图用法示例
2017/03/13 Javascript
对象不支持indexOf属性或方法的解决方法(必看)
2017/05/28 Javascript
对angular2中的ngfor和ngif指令嵌套实例讲解
2018/09/12 Javascript
JS实现带阴历的日历功能详解
2019/01/24 Javascript
基于JavaScript实现控制下拉列表
2020/05/08 Javascript
Vue使用screenfull实现全屏效果
2020/09/17 Javascript
[07:57]2018DOTA2国际邀请赛寻真——PSG.LGD凤凰浴火
2018/08/12 DOTA
Python struct模块解析
2014/06/12 Python
使用Python发送各种形式的邮件的方法汇总
2015/11/09 Python
Python2.7下安装Scrapy框架步骤教程
2017/12/22 Python
浅析Python装饰器以及装饰器模式
2018/05/28 Python
python破解zip加密文件的方法
2018/05/31 Python
解决Python pandas df 写入excel 出现的问题
2018/07/04 Python
python+unittest+requests实现接口自动化的方法
2018/11/29 Python
Python 异常处理Ⅳ过程图解
2019/10/18 Python
Python CSS选择器爬取京东网商品信息过程解析
2020/06/01 Python
Python使用文件操作实现一个XX信息管理系统的示例
2020/07/02 Python
三严三实对照检查材料思想汇报
2014/09/28 职场文书
机关班子查摆问题及整改措施
2014/10/28 职场文书
销售督导岗位职责
2015/04/10 职场文书
张丽莉观后感
2015/06/16 职场文书
Java设计模式中的命令模式
2022/04/28 Java/Android