module.exports 对象是由模块系统创建的。在我们自己写模块的时候,需要在模块最后写好模块接口,声明这个模块对外暴漏声明内容,module.exports提供了暴漏接口的方法。
1、返回一个JSON object
1 var app = { 2 name:'app', 3 version:'1.0.0', 4 sayName:function(name) { 5 console.log(this.name); 6 } 7 } 8 9 module.exports = app;
这种方法可以返回全局共享的变量或者方法。
调用方法:
1 var app = require("./app.js"); 2 app.sayName('hello');//hello
或者这样用:
1 var func1 = function(){ 2 console.log("func1"); 3 }; 4 5 var func2 = function(){ 6 console.log("fun2"); 7 }; 8 9 exports.function1 = func1; 10 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"); var c = 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"