2013-12-12 181 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

精彩:)我解決了我的問題! –