Node.js模块封装及使用方法


Posted in Javascript onMarch 06, 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查看结果

以上就是本文的全部内容,希望对大家的学习有所帮助。

Javascript 相关文章推荐
jquery实现图片渐变切换兼容ie6/Chrome/Firefox
Aug 02 Javascript
node.js 开发指南 ? Node.js 连接 MySQL 并进行数据库操作
Jul 29 Javascript
node.js中的http.response.writeHead方法使用说明
Dec 14 Javascript
jquery滚动特效集锦
Jun 03 Javascript
JavaScript必知必会(六) delete in instanceof
Jun 08 Javascript
微信小程序 教程之数据绑定
Oct 18 Javascript
angular.js指令中的controller、compile与link函数的不同之处
May 10 Javascript
详解Node.js利用node-git-server快速搭建git服务器
Sep 27 Javascript
微信小程序实现图片预览功能
Jan 31 Javascript
vue动画效果实现方法示例
Mar 18 Javascript
通过jQuery学习js类型判断的技巧
May 27 jQuery
webpack 处理CSS资源的实现
Sep 27 Javascript
JavaScript中三种异步上传文件方式
Mar 06 #Javascript
JavaScript中获取纯正的undefined的方法
Mar 06 #Javascript
JS面向对象编程详解
Mar 06 #Javascript
深入学习JavaScript的AngularJS框架中指令的使用方法
Mar 05 #Javascript
使用Jasmine和Karma对AngularJS页面程序进行测试
Mar 05 #Javascript
JavaScript的React框架中的JSX语法学习入门教程
Mar 05 #Javascript
在AngularJS框架中处理数据建模的方式解析
Mar 05 #Javascript
You might like
php批量添加数据与批量更新数据的实现方法
2014/12/16 PHP
php基于curl实现随机ip地址抓取内容的方法
2016/10/11 PHP
JavaScript 特殊字符
2007/04/05 Javascript
jquery 插件 人性化的消息显示
2008/01/21 Javascript
jQuery实现DIV层收缩展开的方法
2015/02/27 Javascript
jquery实现的蓝色二级导航条效果代码
2015/08/24 Javascript
再谈JavaScript异步编程
2016/01/27 Javascript
AngularJS入门教程二:在路由中传递参数的方法分析
2017/05/27 Javascript
Bootstrap Table使用整理(一)
2017/06/09 Javascript
67 个节约开发时间的前端开发者的工具、库和资源
2017/09/12 Javascript
node文件批量重命名的方法示例
2017/10/23 Javascript
JavaScript实现的弹出遮罩层特效经典示例【基于jQuery】
2019/07/10 jQuery
JS/CSS实现字符串单词首字母大写功能
2019/09/03 Javascript
jQuery 移除事件的方法
2020/06/20 jQuery
使用python的chardet库获得文件编码并修改编码
2014/01/22 Python
快速解决安装python没有scripts文件夹的问题
2018/04/03 Python
python list元素为tuple时的排序方法
2018/04/18 Python
利用pandas读取中文数据集的方法
2018/07/25 Python
推荐10款最受Python开发者欢迎的Python IDE
2018/09/16 Python
python解析命令行参数的三种方法详解
2019/11/29 Python
python tkinter GUI绘制,以及点击更新显示图片代码
2020/03/14 Python
Pymysql实现往表中插入数据过程解析
2020/06/02 Python
Django --Xadmin 判断登录者身份实例
2020/07/03 Python
Python将QQ聊天记录生成词云的示例代码
2021/02/10 Python
css3实现蒙版弹幕功能
2019/06/18 HTML / CSS
探究 canvas 绘图中撤销(undo)功能的实现方式详解
2018/05/17 HTML / CSS
美国咖啡批发网站:Coffee.org
2017/06/29 全球购物
美国最大的购物网站:Amazon.com(亚马逊美国)
2020/05/23 全球购物
Java面向对象面试题
2016/12/26 面试题
会计专业大学生职业生涯规划范文
2014/01/11 职场文书
玲玲的画教学反思
2014/02/04 职场文书
企业挂职心得体会
2014/09/10 职场文书
小学生安全教育主题班会
2015/08/12 职场文书
Go中的条件语句Switch示例详解
2021/08/23 Golang
NodeJs使用webpack打包项目的方法详解
2022/02/28 NodeJs
Win10系统搭建ftp文件服务器详细教程
2022/08/05 Servers