module.exports 对象是由模块系统建立的。在咱们本身写模块的时候,须要在模块最后写好模块接口,声明这个模块对外暴漏声明内容,module.exports提供了暴漏接口的方法。app
一、返回一个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;
这种方法能够返回全局共享的变量或者方法。ui
调用方法:this
1 var app = require("./app.js"); 2 app.sayName('hello');//hello
或者这样用:spa
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;
调用方法为:prototype
var functions = require("./functions"); functions.function1(); functions.function2();
二、返回一个构造函数code
CLASS.js对象
var CLASS = function(args) { this.args = args; } module.exports = CLASS;
调用:blog
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"