快速掌握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 相关文章推荐
静态页面的值传递(三部曲)
Sep 25 Javascript
JS类中定义原型方法的两种实现的区别
Mar 08 Javascript
javascript 判断中文字符长度的函数代码
Aug 27 Javascript
js自动闭合html标签(自动补全html标记)
Oct 04 Javascript
javascript实现左右控制无缝滚动
Dec 31 Javascript
JavaScript操作Cookie方法实例分析
May 27 Javascript
jquery mobile 实现自定义confirm确认框效果的简单实例
Jun 17 Javascript
jQuery根据name属性进行查找的用法分析
Jun 23 Javascript
bootstrap表单示例代码分享
May 18 Javascript
Vue-cli-webpack搭建斗鱼直播步骤详解
Nov 17 Javascript
React如何实现浏览器打印部分内容详析
May 19 Javascript
jQuery实现简易聊天框
Feb 08 jQuery
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操作xml代码
2010/06/17 PHP
PHP通过正则表达式下载图片到本地的实现代码
2011/09/19 PHP
解决phpmyadmin中缺少mysqli扩展问题的方法
2013/05/06 PHP
PHP变量内存分配问题记录整理
2013/11/27 PHP
变量在 PHP7 内部的实现(一)
2015/12/21 PHP
如何使用微信公众平台开发模式实现多客服
2016/01/06 PHP
BOOM vs RR BO3 第一场2.13
2021/03/10 DOTA
使用JS进行目录上传(相当于批量上传)
2010/12/05 Javascript
动态加载jquery库的方法
2014/02/12 Javascript
js网页滚动条滚动事件实例分析
2015/05/05 Javascript
javascript匀速运动实现方法分析
2016/01/08 Javascript
浅析JavaScript的几种Math函数,random(),ceil(),round(),floor()
2016/12/22 Javascript
node实现定时发送邮件的示例代码
2017/08/26 Javascript
详解Vue项目编译后部署在非网站根目录的解决方案
2018/04/26 Javascript
vue项目搭建以及全家桶的使用详细教程(小结)
2018/12/19 Javascript
JS实现给数组对象排序的方法分析
2019/06/24 Javascript
javaScript中indexOf用法技巧
2019/11/26 Javascript
小程序中设置缓存过期的实现方法
2020/01/14 Javascript
js实现简单的随机点名器
2020/09/17 Javascript
解决ant design vue 表格a-table二次封装,slots渲染的问题
2020/10/28 Javascript
vuecli项目构建SSR服务端渲染的实现
2020/10/30 Javascript
Python实现的几个常用排序算法实例
2014/06/16 Python
分析python切片原理和方法
2017/12/19 Python
python实现textrank关键词提取
2018/06/22 Python
python爬虫的数据库连接问题【推荐】
2018/06/25 Python
pytorch 数据集图片显示方法
2018/07/26 Python
如何用C代码给Python写扩展库(Cython)
2019/05/17 Python
python字符串的index和find的区别详解
2020/06/20 Python
德国团购网站:Groupon德国
2018/03/13 全球购物
师范学院教师自荐书
2014/01/31 职场文书
关于美容院的活动方案
2014/08/14 职场文书
不尊敬老师检讨书范文
2014/11/19 职场文书
入团介绍人意见范文
2015/06/04 职场文书
宝宝满月宴答谢词
2015/09/30 职场文书
Ajax 的初步实现(使用vscode+node.js+express框架)
2021/06/18 Javascript
SQLServer RANK() 排名函数的使用
2022/03/23 SQL Server