zoukankan      html  css  js  c++  java
  • Node.js模块封装及使用

     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查看结果

  • 相关阅读:
    myeclipse中如何自动生成hibernate得POJO和hbm.xml文件
    解决“List is a raw type. References to generic type List”提示的问题
    Struts2文件目录结构
    DropDownlist 选中
    js获取网站根路径(站点及虚拟目录)
    HTML 特殊字符全集
    抽象类和接口的区别
    有关onpropertychange事件
    JS 括号使用分析
    Field.Store ,ANALYZED备忘
  • 原文地址:https://www.cnblogs.com/5ishare/p/5246509.html
Copyright © 2011-2022 走看看