快速掌握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 相关文章推荐
自己写的兼容ie和ff的在线文本编辑器类似ewebeditor
Dec 12 Javascript
jquery formValidator插件ajax验证 内容不做任何修改再离开提示错误的bug解决方法
Jan 04 Javascript
JS幻灯片可循环播放可平滑旋转带滚动导航(自写)
Aug 05 Javascript
javascript中with()方法的语法格式及使用
Aug 04 Javascript
JS小游戏之象棋暗棋源码详解
Sep 25 Javascript
基于JavaScript制作霓虹灯文字 代码 特效
Sep 01 Javascript
JS简单实现点击按钮或文字显示遮罩层的方法
Apr 27 Javascript
微信小程序实现点击按钮移动view标签的位置功能示例【附demo源码下载】
Dec 06 Javascript
javascript填充默认头像方法
Feb 22 Javascript
使用Vue组件实现一个简单弹窗效果
Apr 23 Javascript
详解react内联样式使用webpack将px转rem
Sep 13 Javascript
Vuex实现数据增加和删除功能
Nov 11 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类继承 extends使用介绍
2014/01/14 PHP
php随机获取金山词霸每日一句的方法
2015/07/09 PHP
PHP中list方法用法示例
2016/12/01 PHP
Laravel下生成验证码的类
2017/11/15 PHP
PHP基于imagick扩展实现合成图片的两种方法【附imagick扩展下载】
2017/11/14 PHP
php+redis消息队列实现抢购功能
2018/02/08 PHP
关于Yii中模型场景的一些简单介绍
2019/09/22 PHP
Mac/Windows下如何安装Node.js
2013/11/22 Javascript
JavaScript实现的双向跨域插件分享
2015/01/31 Javascript
arguments对象验证函数的参数是否合法
2015/06/26 Javascript
学习JavaScript设计模式之责任链模式
2016/01/18 Javascript
通过node-mysql搭建Windows+Node.js+MySQL环境的教程
2016/03/01 Javascript
jQuery实现的兼容性浮动层示例
2016/08/02 Javascript
Asp.Net之JS生成分页条的方法
2016/11/23 Javascript
vue.js动态数据绑定学习笔记
2017/05/19 Javascript
详解Puppeteer前端自动化测试实践
2019/02/21 Javascript
详解Vue源码学习之双向绑定
2019/04/10 Javascript
jsonp实现百度下拉框功能的方法分析
2019/05/10 Javascript
微信小程序实现下拉框功能
2019/07/16 Javascript
Vue通过阿里云oss的url连接直接下载文件并修改文件名的方法
2020/12/25 Vue.js
element-ui 弹窗组件封装的步骤
2021/01/22 Javascript
Vue SPA 首屏优化方案
2021/02/26 Vue.js
python中的函数用法入门教程
2014/09/02 Python
python字典操作实例详解
2017/11/16 Python
python字符串常用方法
2018/06/14 Python
Python爬虫爬取新浪微博内容示例【基于代理IP】
2018/08/03 Python
python 设置输出图像的像素大小方法
2019/07/04 Python
用Python写一个自动木马程序
2019/09/17 Python
浅谈python中统计计数的几种方法和Counter详解
2019/11/07 Python
Python箱型图处理离群点的例子
2019/12/09 Python
解决Tensorflow 内存泄露问题
2020/02/05 Python
机电一体化专业应届本科生求职信
2013/09/27 职场文书
社区综治宣传月活动总结
2014/07/02 职场文书
简易离婚协议书范本2014
2014/10/15 职场文书
一文搞懂Python Sklearn库使用
2021/08/23 Python
关于HTML编码导致的乱码问题
2021/09/04 HTML / CSS