module.exports用法

module.exports 对象是由模块系统创建的。在我们自己写模块的时候,需要在模块最后写好模块接口,声明这个模块对外暴露什么内容,module.exports 提供了暴露接口的方法。

官方说明:http://docs.cocos.com/creator/manual/zh/scripting/modular-script.html

详细说明:http://blog.csdn.net/Pwiling/article/details/51958693

1、返回一个JSON Object

var app = {
    name: 'app',
    version: '1.0.0',
    sayName: function(name){
        console.log(this.name);
    }
}
module.exports = app;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

这种方法可以返回全局共享的变量或者方法。 
调用方法:

var app = require('./app.js');
app.sayName('hello');//hello
  • 1
  • 2

或者这样用:

var func1 = function() {
   console.log("func1");
};

var func2 = function() {
   console.log("func2");
};

exports.function1 = func1;
exports.function2 = func2;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

调用方法为:

var functions = require("./functions");
functions.function1();
functions.function2();
  • 1
  • 2
  • 3

2、返回一个构造函数

CLASS.js:

var CLASS = function(args){
     this.args = args;
}
module.exports = CLASS;
  • 1
  • 2
  • 3
  • 4

调用:

var CLASS = require('./CLASS.js');
varc = new CLASS('arguments');
  • 1
  • 2

3、返回一个实例对象:

//CLASS.js
var CLASS = function(){
    this.name = "class";
}
CLASS .prototype.func = function(){
    alert(this.name);
}
module.exports = new CLASS();
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

调用:

var c = require('./CLASS.js');
c.func();//"class"

你可能感兴趣的:(cocos,2d-js)