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获取多个数组的交集简单实例
Nov 11 Javascript
用jquery修复在iframe下的页面锚点失效问题
Aug 22 Javascript
基于jQuery实现的无刷新表格分页实例
Feb 17 Javascript
javascript中FOREACH数组方法使用示例
Mar 01 Javascript
谈一谈bootstrap响应式布局
May 23 Javascript
AngularJS入门教程之Helloworld示例
Dec 25 Javascript
js模拟百度模糊搜索的实例
Aug 04 Javascript
JavaScript分步实现一个出生日期的正则表达式
Mar 22 Javascript
微信小程序事件 bindtap bindinput代码实例
Aug 26 Javascript
小程序中使用css var变量(使js可以动态设置css样式属性)
Mar 31 Javascript
vue中解决chrome浏览器自动播放音频和MP3语音打包到线上的实现方法
Oct 09 Javascript
JS前端监控采集用户行为的N种姿势
Jul 23 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实现一个简单的用户登记表示例
2017/04/25 PHP
javascript 浏览器判断 绑定事件 arguments 转换数组 数组遍历
2009/07/06 Javascript
JS面向对象编程 for Cookie
2010/09/19 Javascript
js判断是否为数组的函数: isArray()
2011/10/30 Javascript
javascript针对DOM的应用分析(三)
2012/04/15 Javascript
Nodejs异步回调的优雅处理方法
2014/09/25 NodeJs
浅谈js中变量初始化
2015/02/03 Javascript
JS实现定时自动关闭DIV层提示框的方法
2015/05/11 Javascript
基于Jquery实现表单验证
2020/07/20 Javascript
javascript字符串替换函数如何一次性全部替换掉
2015/10/30 Javascript
bootstrap布局中input输入框右侧图标点击功能
2016/05/16 Javascript
JavaScript实现移动端滑动选择日期功能
2016/06/21 Javascript
Js动态设置rem来实现移动端字体的自适应代码
2016/10/14 Javascript
深入理解jquery中的each用法
2016/12/14 Javascript
JavaScript如何一次性展示几万条数据
2017/03/30 Javascript
axios对请求各种异常情况处理的封装方法
2018/09/25 Javascript
浅谈vue引用静态资源需要注意的事项
2018/09/28 Javascript
详解Vue中的watch和computed
2020/11/09 Javascript
Python结巴中文分词工具使用过程中遇到的问题及解决方法
2017/04/15 Python
python 内置函数filter
2017/06/01 Python
利用python实现简单的邮件发送客户端示例
2017/12/23 Python
Python线性方程组求解运算示例
2018/01/17 Python
Python求两点之间的直线距离(2种实现方法)
2019/07/07 Python
Python CVXOPT模块安装及使用解析
2019/08/01 Python
python解析yaml文件过程详解
2019/08/30 Python
Python调用scp向服务器上传文件示例
2019/12/22 Python
Python模块相关知识点小结
2020/03/09 Python
自主招生自荐信范文
2013/12/04 职场文书
总经理秘书的岗位职责
2013/12/27 职场文书
运动会通讯稿300字
2014/02/02 职场文书
保护黄河倡议书
2014/05/16 职场文书
2015军训通讯稿大全
2015/07/18 职场文书
西部计划志愿者工作总结
2015/08/11 职场文书
学习焦裕禄先进事迹心得体会
2016/01/23 职场文书
基于Android10渲染Surface的创建过程
2022/08/14 Java/Android
Java Redisson多策略注解限流
2022/09/23 Java/Android