快速掌握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 相关文章推荐
JavaScript 计算当天是本年本月的第几周
Mar 22 Javascript
jQuery EasyUI API 中文文档 - Form表单
Oct 06 Javascript
JavaScript在多浏览器下for循环的使用方法
Nov 07 Javascript
jquery表单对象属性过滤选择器实例分析
May 18 Javascript
Node.js插件安装图文教程
May 06 Javascript
javascript显示倒计时控制按钮的简单实现
Jun 07 Javascript
使用vue框架 Ajax获取数据列表并用BootStrap显示出来
Apr 24 Javascript
详解Node.js串行化流程控制
May 04 Javascript
vue子父组件通信的实现代码
Jul 09 Javascript
解决vue router组件状态刷新消失的问题
Aug 01 Javascript
Vue 解决路由过渡动画抖动问题(实例详解)
Jan 05 Javascript
基于canvasJS在PHP中制作动态图表
May 30 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中for与foreach的区别分析
2011/03/09 PHP
destoon官方标签大全
2014/06/20 PHP
php使用Jpgraph绘制柱形图的方法
2015/06/10 PHP
Laravel实现定时任务的示例代码
2017/08/10 PHP
Laravel中前端js上传图片到七牛云的示例代码
2017/09/04 PHP
TP5框架请求响应参数实例分析
2019/10/17 PHP
js获取html参数及向swf传递参数应用介绍
2013/02/18 Javascript
js 实现 input type="file" 文件上传示例代码
2013/08/07 Javascript
解析Javascript中大括号“{}”的多义性
2013/12/02 Javascript
jquery实现倒计时代码分享
2014/06/13 Javascript
javascript实现简单的二级联动
2015/03/19 Javascript
基于javascript实现精确到毫秒的倒计时限时抢购
2016/04/17 Javascript
js从数组中删除指定值(不是指定位置)的元素实现代码
2016/09/13 Javascript
微信小程序 数组(增,删,改,查)等操作实例详解
2017/01/05 Javascript
如何使用angularJs
2017/05/08 Javascript
JavaScript之生成器_动力节点Java学院整理
2017/06/30 Javascript
如何优雅的在一台vps(云主机)上面部署vue+mongodb+express项目
2019/01/20 Javascript
webpack4 SplitChunks实现代码分隔详解
2019/05/23 Javascript
CountUp.js实现数字滚动增值效果
2019/10/17 Javascript
详解Webpack4多页应用打包方案
2020/07/16 Javascript
vue.js+element 默认提示中英文操作
2020/11/11 Javascript
video.js添加自定义组件的方法
2020/12/09 Javascript
Python基于递归算法实现的汉诺塔与Fibonacci数列示例
2018/04/18 Python
Python多线程原理与用法详解
2018/08/20 Python
解决Python selenium get页面很慢时的问题
2019/01/30 Python
Python全局锁中如何合理运用多线程(多进程)
2019/11/06 Python
python默认参数调用方法解析
2020/02/09 Python
详解android与HTML混合开发总结
2018/06/06 HTML / CSS
校本教研工作方案
2014/01/14 职场文书
大学应届生的自我评价
2014/03/06 职场文书
党风廉政承诺书
2014/03/27 职场文书
工程部经理岗位职责
2015/02/02 职场文书
大学生实习推荐信
2015/03/27 职场文书
无婚姻登记记录证明
2015/06/18 职场文书
你喜欢篮球吗?Python实现篮球游戏
2021/06/11 Python
关于vue-router-link选择样式设置
2022/04/30 Vue.js