当前位置:嗨网首页>书籍在线阅读

07-创建一个模块

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

[toc]

3.3.1 创建一个模块

假如你有一个JavaScript库函数,它叫concatArray。它接收一个字符串和一个字符串数组,将第一个字符串连接在数组中每一个字符串的后面,然后返回一个新的字符串数组:

function concatArray(str, array) {
  return array.map(function(element) {
       return str + ' ' + element;
  });
}

你需要像使用其他函数一样在你的Node应用程序中使用这个函数。

要将JavaScript库转化为可以在Node中使用的库,你需要使用exports对象将所有需要暴露的函数导出,如下所示:

exports.concatArray = function(str, array) {
  return array.map(function(element) {
       return str + ' ' + element;
  });
};

要在Node程序中使用concatArray,应该先导入该模块。此后被导出的函数就可以在你的程序中被调用了:

var newArray = require ('./arrayfunctions.js');
console.log(newArray.concatArray('hello', ['test1','test2']));

你也可以创建一个包含对象构造器或者函数的模块,然后使用module.exports来导出。

比如,强依赖的Mime模块创建了一个函数Mime():

function Mime() { ... }

然后通过prototype属性增加一个功能:

Mime.prototype.define = function(map) {...}

创建一个默认实例:

var mime = new Mime();

将Mime对象赋值给同名属性:

mime.Mime = Mime;

导出实例:

module.exports=mime;

现在,你就可以在你的代码中使用Mime提供的所有函数了:

var mime = require('mime');
console.log(mime.lookup('phoenix5a.png')); // image/png