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文件,这样就封装了一个模块。
二、封装模块的使用
封装模块的使用有两种方法 :发布到NPM注册表、本地使用,这里只记录下本地使用的方法.
1.创建名readwords文件夹
2.命令行导航到readwords文件夹下,然后安装已经封装好的模块,如果是已经发布到NPM注册表的直接 npm install 名字,如果是在本地 npm install tgz文件路径。
3.安装完成后会在readwords文件夹下生成包含censority子文件夹的node_modules文件夹
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事件驱动模型,包括了快速掌握Node.js事件驱动模型的使用技巧和注意事项,需要的朋友参考一下 一、传统线程网络模型 在了解Node.js事件驱动模型之前,我们先了解一下传统的线程网络模型,请求进入web服务器(IIS、Apache)之后,会在线程池中分配一个线程来线性同步完成请求处理,直到请求处理完成并发出响应,结束之后线程池回收。 这就会就会带来以下几个问题
本文向大家介绍Node.js模块封装及使用方法,包括了Node.js模块封装及使用方法的使用技巧和注意事项,需要的朋友参考一下 Node.js中也有一些功能的封装,类似C#的类库,封装成模块这样方便使用,安装之后用require()就能引入调用. 一、Node.js模块封装 1.创建一个名为censorify的文件夹 2.在censorify下创建3个文件censortext.js、packa
本文向大家介绍python命令行工具Click快速掌握,包括了python命令行工具Click快速掌握的使用技巧和注意事项,需要的朋友参考一下 前言 写 Python 的经常要写一些命令行工具,虽然标准库提供有命令行解析工具 Argparse,但是写起来非常麻烦,我很少会使用它。命令行工具中用起来最爽的就是 Click,它是 Flask 的团队 pallets 的开源项目。Click 只要很少的代
本文向大家介绍三分钟快速掌握Java中枚举(enum),包括了三分钟快速掌握Java中枚举(enum)的使用技巧和注意事项,需要的朋友参考一下 什么是枚举? 枚举是JDK5引入的新特性。在某些情况下,一个类的对象是固定的,就可以定义为枚举。在实际使用中,枚举类型也可以作为一种规范,保障程序参数安全。枚举有以下特点: Java中枚举和类、接口的级别相同。 枚举和类一样,都有自己的属性、方法、构造方法
本文向大家介绍快速掌握jQuery插件WebUploader文件上传,包括了快速掌握jQuery插件WebUploader文件上传的使用技巧和注意事项,需要的朋友参考一下 文件上传是网站和 Web 应用程序的常用功能,一直没有一款完美的文件上传组件,因此让很多开发人员碰到头疼的浏览器兼容问题。 WebUploader 是由 Baidu FEX 团队开发的一款以 HTML5 为主,FLASH 为辅的
本文向大家介绍三十分钟快速掌握C# 6.0知识点,包括了三十分钟快速掌握C# 6.0知识点的使用技巧和注意事项,需要的朋友参考一下 一、只读自动属性(Read-only auto-properties) C# 6之前我们构建只读自动属性: 原理解析:就是编译器在生成set访问器时,它的修饰符是private,由上可知所谓的只读只是针对类外部,在类内部还是可以随意修改属性值的。 C# 6中提供了真