Node.js 模块
Node.js 中的模块
//math.js
//将方法挂载在exports对象上作为属性即可导出
exports.add = function(){
var sum = 0,
i = 0,
args = arguments,
l = arguments.length;
while(i<l){
sum += args[i++];
}
return sum;
}
//app.js
//使用模块中方法
var math = require('math');
var sum = math.add(1,2,3,4,5);
require()
方法接收一个标识符作为参数
- 核心模块 如http, fs, path等
.
或..
开始的相对路径- 以
/
开始的绝对路径 - 非路径形式的文件模块,如自定义的connect模块
//node.js查找模块的路径
console.log(module.paths);
在Node中,每个文件模块都是一个对象,构造函数如下
function Module(id, parent){
this.id = id;
this.exports = {};
this.parent = parent;
if(parent && parent.children){
parent.children.push(this);
}
this.filename = null;
this.loaded = false;
this.children = [];
}