2013-12-12 98 views
0

我有一个关于RequireJS和JS OOP的问题。 我想每个文件都有一个类,并在这个文件中定义依赖关系。 目前,我使用require方法并将类定义为回调函数,但我无法在其他地方访问我的课程。 我试图将我的类定义为一个窗口的属性,但它仍然不起作用。加载类与RequireJS

你有什么想法吗? 否则,如果你有更好的方式来管理类,就像你可以在JAVA或其他OO语言中做的那样,我将不胜感激:)

我提前感谢你!

回答

1

(请记住,当我们创建“类”在JavaScript中我们真正模拟类系统使用JavaScript的原型系统......)

下面是可以从外部访问一个简单的类的实例:

define(function (require, exports, module) { 
'use strict'; 

function ParamError(message) { 
    this.message = message; 
} 

ParamError.prototype.toString = function() { 
    return this.message; 
}; 

exports.ParamError = ParamError; 
}); 

Supporing上面的代码是在一个名为errors.js文件,是RequireJs访问,如果我想在其他地方使用它:

define(function (require, exports, module) { 
'use strict'; 

var errors = require("errors"); 

var foo = new errors.ParamError("blah"); 

// Here is a simple illustration of how it can be extended. 

function NewError() { 
    ParamError.call(this, arguments); 
} 

NewError.prototype = new errors.ParamError(); 

}); 
+0

精彩:)我解决了我的问题! –