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 相关文章推荐
javascript的函数
Jan 31 Javascript
原生Js与jquery的多组处理, 仅展开一个区块的折叠效果
Jan 09 Javascript
jQuery中对未来的元素绑定事件用bind、live or on
Apr 17 Javascript
深入理解javascript变量声明
Nov 20 Javascript
Bootstrap table的使用方法
Nov 02 Javascript
JS中Select下拉列表类(支持输入模糊查询)功能
Jan 17 Javascript
微信小程序 网络请求(post请求,get请求)
Jan 17 Javascript
浅谈React高阶组件
Mar 28 Javascript
JS实现将对象转化为数组的方法分析
Jan 21 Javascript
关于layui toolbar和template的结合使用方法
Sep 19 Javascript
vue切换菜单取消未完成接口请求的案例
Nov 13 Javascript
基于Cesium绘制抛物弧线
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 Warning: PHP Startup: Unable to load dynamic library \ D:/php5/ext/php_mysqli.dll\
2012/06/17 PHP
PHP中防止直接访问或查看或下载config.php文件的方法
2012/07/07 PHP
简单的cookie计数器实现源码
2013/06/07 PHP
php将一维数组转换为每3个连续值组成的二维数组
2016/05/06 PHP
thinkPHP简单实现多个子查询语句的方法
2016/12/05 PHP
jquery下json数组的操作实现代码
2010/08/09 Javascript
jQuery下扩展插件和拓展函数的写法(匿名函数使用的典型例子)
2010/10/20 Javascript
利用毫秒减值计算时长的js代码
2013/09/22 Javascript
js实现文字跟随鼠标移动而移动的方法
2015/02/28 Javascript
javascript计时器编写过程与实现方法
2016/02/29 Javascript
JQuery Mobile 弹出式登录框的实现方法
2016/05/28 Javascript
原生js实现class的添加和删除简单代码
2016/07/12 Javascript
Vue-Router进阶之滚动行为详解
2017/09/13 Javascript
vue下拉列表功能实例代码
2018/04/08 Javascript
opencv 识别微信登录验证滑动块位置
2018/08/07 Javascript
vue 实现模糊检索并根据其他字符的首字母顺序排列
2019/09/19 Javascript
深入分析JavaScript 事件循环(Event Loop)
2020/06/19 Javascript
python之PyMongo使用总结
2017/05/26 Python
利用Python自带PIL库扩展图片大小给图片加文字描述的方法示例
2017/08/08 Python
pycharm+PyQt5+python最新开发环境配置(踩坑)
2019/02/11 Python
Python selenium 自动化脚本打包成一个exe文件(推荐)
2020/01/14 Python
python deque模块简单使用代码实例
2020/03/12 Python
5行Python代码实现图像分割的步骤详解
2020/05/25 Python
如何用Python 实现全连接神经网络(Multi-layer Perceptron)
2020/10/15 Python
茱莉蔻美国官网:Jurlique美国
2020/11/24 全球购物
常用UNIX 命令(Linux的常用命令)
2013/07/10 面试题
优秀学生自我鉴定范例
2013/12/18 职场文书
党员公开承诺书和承诺事项
2014/03/25 职场文书
施工工地安全标语
2014/06/07 职场文书
2014党员四风对照检查材料思想汇报
2014/09/17 职场文书
党员作风建设整改方案
2014/10/27 职场文书
丧事答谢词
2015/01/05 职场文书
人事文员岗位职责
2015/02/04 职场文书
开国大典观后感
2015/06/04 职场文书
小学信息技术教学反思
2016/02/16 职场文书
使用opencv-python如何打开USB或者笔记本前置摄像头
2022/06/21 Python