快速掌握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 相关文章推荐
js 操作select相关方法函数
Dec 06 Javascript
js 设置选中行的样式的实现代码
May 24 Javascript
JS如何判断移动端访问设备并解析对应CSS
Nov 27 Javascript
引入JS文件IE6报语法错误或缺少对象问题的解决方法
Jan 09 Javascript
JavaScript保留两位小数的2个自定义函数
May 05 Javascript
JS实现点击按钮控制Div变宽、增高及调整背景色的方法
Aug 05 Javascript
jQuery插件AjaxFileUpload实现ajax文件上传
May 05 Javascript
confirm确认对话框的实现方法总结
Jun 17 Javascript
js 递归和定时器的实例解析
Feb 03 Javascript
js和jQuery以及easyui实现对下拉框的指定赋值方法
Jan 23 jQuery
vue-cli项目中使用echarts图表实例
Oct 22 Javascript
layui实现下拉复选功能的例子(包括数据的回显与上传)
Sep 24 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输出控制功能在简繁体转换中的应用
2006/10/09 PHP
不用数据库的多用户文件自由上传投票系统(2)
2006/10/09 PHP
php地址引用(php地址引用的效率问题)
2012/03/23 PHP
PHP多进程通信-消息队列使用
2019/03/08 PHP
javascript string字符串优化问题
2011/07/31 Javascript
新手快速学习JavaScript免费教程资源汇总
2015/06/25 Javascript
js模态对话框使用方法详解
2017/02/16 Javascript
详解Node.js串行化流程控制
2017/05/04 Javascript
bootstrap弹出层的多种触发方式
2017/05/10 Javascript
vue中的过滤器实例代码详解
2019/06/06 Javascript
jquery.pager.js分页实现详解
2019/07/29 jQuery
jquery向后台提交数组的代码分析
2020/02/20 jQuery
JS实现单张或多张图片持续无缝滚动的示例代码
2020/05/10 Javascript
Nuxt的路由配置和参数传递方式
2020/11/06 Javascript
vue实现桌面向网页拖动文件的示例代码(可显示图片/音频/视频)
2021/03/01 Vue.js
python基础教程之基本数据类型和变量声明介绍
2014/08/29 Python
用Python编写分析Python程序性能的工具的教程
2015/04/01 Python
python实现批量下载新浪博客的方法
2015/06/15 Python
Python出现segfault错误解决方法
2016/04/16 Python
python集合比较(交集,并集,差集)方法详解
2018/09/13 Python
Python函数的参数常见分类与用法实例详解
2019/03/30 Python
使用Python正则表达式操作文本数据的方法
2019/05/14 Python
python SVD压缩图像的实现代码
2019/11/05 Python
10种CSS3实现的loading动画,挑一个走吧?
2020/11/16 HTML / CSS
英国最大的老式糖果店:A Quarter Of
2017/04/08 全球购物
Android面试题及答案
2015/09/04 面试题
工程造价专业大学生职业生涯规划书
2014/01/18 职场文书
家长对孩子的评语
2014/04/18 职场文书
向国旗敬礼学生寄语大全
2014/09/30 职场文书
教师个人查摆剖析材料
2014/10/14 职场文书
给领导的感谢信范文
2015/01/23 职场文书
毕业论文致谢信
2015/05/14 职场文书
探究Mysql模糊查询是否区分大小写
2021/06/11 MySQL
QT连接MYSQL数据库的详细步骤
2021/07/07 MySQL
CSS Transition通过改变Height实现展开收起元素
2021/08/07 HTML / CSS
ConditionalOnProperty配置swagger不生效问题及解决
2022/06/14 Java/Android