在nodejs中,提供了exports 和 require 两个对象,其中 exports 是模块公开的接口,require 用于从外部获取一个模块的接口,即所获取模块的 exports 对象。在我们自己写模块的时候,需要在模块最后写好模块接口,声明这个模块对外暴露什么内容,module.exports 提供了暴露接口的方法。
- 返回一个JSON Object
//app.js
var app = {
name: 'app',
version: '1.0.0',
sayHello:sayHello(),
sayName: function(name){
console.log(this.name);
}
}
function sayHello(){
console.log("Hello");
}
module.exports = app;
调用方法:(可传入参数)
var app = require('./app.js');
app.sayName('hello');//hello
app.sayHello();//hello
- 返回一个模块函数
//function.js
var func1 = function() {
console.log("func1");
};
var func2 = function() {
console.log("func2");
};
exports.function1 = func1;
exports.function2 = func2;
调用方法:
var functions = require("./function.js");
functions.function1();
functions.function2();
- 返回一个构造函数
//CLASS.js
var CLASS = function(args){
this.args = args;
}
module.exports = CLASS;
调用方法:
var CLASS = require('./CLASS.js');
var c = new CLASS('arguments');
- 返回一个实例对象:
//CLASS.js
var CLASS = function(){
this.name = "class";
}
CLASS .prototype.func = function(){
alert(this.name);
}
module.exports = new CLASS();
调用方法:
var c = require('./CLASS.js');
c.func();//"class"