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 相关文章推荐
JScript的条件编译
May 29 Javascript
javascript dom代码应用 简单的相册[firefox only]
Jun 12 Javascript
ASP.NET jQuery 实例5 (显示CheckBoxList成员选中的内容)
Jan 13 Javascript
Jquery封装tab自动切换效果的具体实现
Jul 13 Javascript
jquery获取select选中值的方法分析
Dec 22 Javascript
JavaScript实现设计模式中的单例模式的一些技巧总结
May 17 Javascript
JS生成一维码(条形码)功能示例
Jan 19 Javascript
layer子层给父层页面元素赋值,以达到向父层页面传值的效果实例
Sep 22 Javascript
vue项目实现github在线预览功能
Jun 20 Javascript
解决bootstrap中下拉菜单点击后不关闭的问题
Aug 10 Javascript
使用apifm-wxapi快速开发小程序过程详解
Aug 05 Javascript
vue 实现一个简单的全局调用弹窗案例
Sep 10 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 EOT定界符的使用详解
2008/09/30 PHP
一个PHP验证码类代码分享(已封装成类)
2011/07/17 PHP
php正则preg_replace_callback函数用法实例
2015/06/01 PHP
PHP堆栈调试操作简单示例
2018/06/15 PHP
javascript 面向对象全新理练之原型继承
2009/12/03 Javascript
JS获取月的最后一天与JS得到一个月份最大天数的实例代码
2013/12/16 Javascript
使用jquery局部刷新(jquery.load)从数据库取出数据
2014/01/22 Javascript
jquery实现的美女拼图游戏实例
2015/05/04 Javascript
js实现下拉列表选中某个值的方法(3种方法)
2015/12/17 Javascript
Vue.js每天必学之表单控件绑定
2016/09/05 Javascript
vue.js+Element实现表格里的增删改查
2017/01/18 Javascript
import与export在node.js中的使用详解
2017/09/28 Javascript
通过实例了解Render Props回调地狱解决方案
2020/11/04 Javascript
[15:56]Heroes18_暗影萨满(完美)
2014/10/31 DOTA
linux系统使用python监测网络接口获取网络的输入输出
2014/01/15 Python
用python删除java文件头上版权信息的方法
2014/07/31 Python
安装python3的时候就是输入python3死活没有反应的解决方法
2018/01/24 Python
python中import与from方法总结(推荐)
2019/03/21 Python
Pandas读写CSV文件的方法示例
2019/03/27 Python
Django模型修改及数据迁移实现解析
2019/08/01 Python
Python简易版停车管理系统
2019/08/12 Python
基于python爬取梨视频实现过程解析
2020/11/09 Python
Python实现列表索引批量删除的5种方法
2020/11/16 Python
婚鞋、新娘鞋、礼服鞋、童鞋:Nina Shoes
2019/09/04 全球购物
Armor Lux法国官方网站:水手服装、成衣和内衣
2020/05/26 全球购物
班组长岗位职责范本
2014/01/05 职场文书
财务会计毕业生个人求职信
2014/02/03 职场文书
公司建议书怎么写
2014/05/15 职场文书
学校安全生产承诺书
2014/05/23 职场文书
地理科学专业自荐信
2014/09/01 职场文书
留学推荐信(中英文版)
2015/03/26 职场文书
单位推荐信范文
2015/03/27 职场文书
郭明义电影观后感
2015/06/08 职场文书
小学英语教师研修感悟
2015/11/18 职场文书
2016年党员创先争优承诺书
2016/03/25 职场文书
纯 CSS 自定义多行省略的问题(从原理到实现)
2021/11/11 HTML / CSS