2016-10-18 112 views
0

我有以下情形:requirejs定義模塊工作不正常

我有一個叫堡壘全局命名空間,其有,我需要一些常用的功能,它看起來像這樣:

fort.js

define("fort", ["fortHistory"], function (FortHistory) { 

    function Fort(){} 
    Fort.prototype.history = FortHistory; 

    return Fort; 
}); 

fortHistory是一個小模塊我創建定義爲這樣:

fortHistory.js

"use strict"; 
define("fortHistory", function() { 

function FortHistory() { 

} 
FortHistory.prototype.doSomething = function(){...} 
return FortHistory; 
}); 

然後我在我的config.js做到這一點

require.config({ 
    enforceDefine: true, 
    paths: { 
     'fort': 'develop/js/fort', 
     'fortHistory' : 'develop/js/webapp/fortHistory' 
}, 
    shim: { 
     fort:{ 
      exports: 'fort' 
     } 
    } 
}); 
define(function() {}); 

終於在main.js我有:

define('fort', [], function(fort){ 
    window.fort = fort; 
}); 

的希望是,然後我可以撥打電話如:

fort.fortHistory.doSomething(); 

改爲堡是未定義的,所以我假設我誤解了requirejs如何工作

+0

這裏有幾個錯誤:您正在main.js中重新定義名爲fort的模塊,並且您沒有入口點。嘗試要求('堡',...),而不是定義 –

+0

正如你所說的那裏有一些錯誤周圍散落,謝謝你的擡頭 – user1383163

回答

1

你已經把它命名爲history,不fortHistory

Fort.prototype.history = FortHistory; 

嘗試通過fort.history.doSomething();調用它。