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 相关文章推荐
新浪的图片新闻效果
Jan 13 Javascript
javascript-TreeView父子联动效果保持节点状态一致
Aug 12 Javascript
js apply/call/caller/callee/bind使用方法与区别分析
Oct 28 Javascript
Javascript 去除数组的重复元素
May 04 Javascript
jquery动画1.加载指示器
Aug 24 Javascript
js实现人才网站职位选择功能的方法
Aug 14 Javascript
Javascript实现汉字和拼音互转的终极方案
Oct 19 Javascript
一篇文章让你彻底弄懂JS的事件冒泡和事件捕获
Aug 14 Javascript
jquery 实现拖动文件上传加载进度条功能
Mar 18 jQuery
Vue递归组件+Vuex开发树形组件Tree--递归组件的简单实现
Apr 01 Javascript
Vue中UI组件库之Vuex与虚拟服务器初识
May 07 Javascript
小程序实现列表展开收起效果
Jul 29 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中截取字符串支持utf-8
2007/01/18 PHP
php合并数组array_merge函数运算符加号与的区别
2008/10/31 PHP
Zend Studio for Eclipse的java.lang.NullPointerException错误的解决方法
2008/12/06 PHP
php中一个完整表单处理实现代码
2011/11/10 PHP
php mssql扩展SQL查询中文字段名解决方法
2012/10/15 PHP
PHP实现根据图片色界在不同位置加水印的方法
2015/08/08 PHP
PHP 数组操作详解【遍历、指针、函数等】
2020/05/13 PHP
CSS JavaScript 实现菜单功能 改进版
2008/12/09 Javascript
js截取字符串的两种方法及区别详解
2013/11/05 Javascript
使用js判断数组中是否包含某一元素(类似于php中的in_array())
2013/12/12 Javascript
setTimeout内不支持jquery的选择器的解决方案
2015/04/28 Javascript
老生常谈JavaScript 正则表达式语法
2016/08/20 Javascript
JavaScript利用闭包实现模块化
2017/01/13 Javascript
Node.js获取前端ajax提交的request信息
2017/02/20 Javascript
Vue项目中quill-editor带样式编辑器的使用方法
2017/08/08 Javascript
vue 动态绑定背景图片的方法
2018/08/10 Javascript
node全局变量__dirname与__filename的区别
2019/01/14 Javascript
VUE项目axios请求头更改Content-Type操作
2020/07/24 Javascript
Ant design vue中的联动选择取消操作
2020/10/31 Javascript
Vue路由权限控制解析
2020/11/09 Javascript
vue element el-transfer增加拖拽功能
2021/01/15 Vue.js
[03:18]【TI9纪实】社区大触GL与木木
2019/08/25 DOTA
Python实现批量将word转html并将html内容发布至网站的方法
2015/07/14 Python
Python中进程和线程的区别详解
2017/10/29 Python
Python制作动态字符图的实例
2019/01/27 Python
Android面试题及答案
2015/09/04 面试题
初中校园广播稿
2014/02/02 职场文书
致裁判员加油稿
2014/02/08 职场文书
本科生就业推荐信
2014/05/19 职场文书
生日答谢词
2015/01/05 职场文书
万能检讨书
2015/01/27 职场文书
工作迟到检讨书范文
2015/05/06 职场文书
2015年治庸问责工作总结
2015/07/27 职场文书
AJAX学习笔记
2021/05/18 Javascript
SQL实现LeetCode(180.连续的数字)
2021/08/04 MySQL
20180830晚上第一届KSL半决赛 雨神vs解冻(二龙 三炮解说)
2022/04/01 星际争霸