快速掌握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 相关文章推荐
使用IE6看老赵的博客 jQuery初探
Jan 17 Javascript
JQuery团队打造的javascript单元测试工具QUnit介绍
Feb 26 Javascript
addEventListener和attachEvent二者绑定的执行函数中的this不相同
Dec 09 Javascript
checkbox使用示例
Aug 23 Javascript
利用jQuery实现可输入搜索文字的下拉框
Oct 23 Javascript
用JavaScript实现类似于ListBox功能示例代码
Mar 09 Javascript
jQuery简单获取键盘事件的方法
Jan 22 Javascript
jQuery实现内容定时切换效果完整实例
Apr 06 Javascript
AngularJS 模块化详解及实例代码
Sep 14 Javascript
对angular 监控数据模型变化的事件方法$watch详解
Oct 09 Javascript
Vue项目环境搭建详细总结
Sep 26 Javascript
JS实现拼图游戏
Jan 29 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
基于递归实现的php树形菜单代码
2014/11/19 PHP
PHP单例模式详细介绍
2015/07/01 PHP
两种php实现图片上传的方法
2016/01/22 PHP
php while循环控制的简单实例
2016/05/30 PHP
购物车实现的几种方式优缺点对比
2018/05/02 PHP
javascript IFrame 强制刷新代码
2009/07/23 Javascript
jquery实现的网页自动播放声音
2014/04/30 Javascript
JQ实现新浪游戏首页幻灯片
2015/07/29 Javascript
jq实现左侧显示图片右侧文字滑动切换效果
2015/08/04 Javascript
jQuery+php实时获取及响应文本框输入内容的方法
2016/05/24 Javascript
AngularJs  Understanding Angular Templates
2016/09/02 Javascript
浅谈JS读取DOM对象(标签)的自定义属性
2016/11/21 Javascript
jQuery-mobile事件监听与用法详解
2016/11/23 Javascript
移动端点击态处理的三种实现方式
2017/01/12 Javascript
JavaScript 详解预编译原理
2017/01/22 Javascript
JS实现控制图片显示大小的方法【图片等比例缩放功能】
2017/02/18 Javascript
react开发中如何使用require.ensure加载es6风格的组件
2017/05/09 Javascript
详解从Vue-router到html5的pushState
2018/07/21 Javascript
JS co 函数库的含义和用法实例总结
2020/04/08 Javascript
react-intl实现React国际化多语言的方法
2020/09/27 Javascript
netbeans7安装python插件的方法图解
2013/12/24 Python
python遍历一个目录,输出所有的文件名的实例
2018/04/23 Python
Python SQL查询并生成json文件操作示例
2018/08/17 Python
python自动点赞功能的实现思路
2020/02/26 Python
解析pip安装第三方库但PyCharm中却无法识别的问题及PyCharm安装第三方库的方法教程
2020/03/10 Python
scrapy redis配置文件setting参数详解
2020/11/18 Python
SmartBuyGlasses中国:唯视良品(销售名牌太阳镜、墨镜和眼镜框)
2017/07/03 全球购物
JVM是一个编译程序还是解释程序
2012/09/11 面试题
珠宝店促销方案
2014/03/21 职场文书
新课培训心得体会
2014/09/03 职场文书
先进典型事迹材料
2014/12/29 职场文书
校车安全管理责任书
2015/05/11 职场文书
2015年小学体育教师工作总结
2015/10/23 职场文书
观看《杨善洲》宣传教育片心得体会
2016/01/23 职场文书
Win7/8.1用户可以免费升级到Windows 11系统吗?
2021/11/21 数码科技
PostgreSQL13基于流复制搭建后备服务器的方法
2022/01/18 PostgreSQL