module.exports 对象是由模块系统创建的。在我们自己写模块的时候,需要在模块最后写好模块接口,声明这个模块对外暴露什么内容,module.exports 提供了暴露接口的方法。
1、返回一个JSON Object
var app = { name: 'app', version: '1.0.0', sayName: function(name){ console.log(this.name); } } module.exports = app; 这种方法可以返回全局共享的变量或者方法。 调用方法:
var app = require('./app.js'); app.sayName('hello');//hello 或者这样用:
var func1 = function() { console.log("func1"); }; var func2 = function() { console.log("func2"); }; exports.function1 = func1; exports.function2 = func2; 调用方法为:
var functions = require("./functions"); functions.function1(); functions.function2(); 2、返回一个构造函数
CLASS.js:
var CLASS = function(args){ this.args = args; } module.exports = CLASS; 调用:
var CLASS = require('./CLASS.js'); varc = new CLASS('arguments'); 3、返回一个实例对象:
//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"