2013-08-20 109 views
1

我嘗試將Breeze與:TypeScript,AMD模塊,requirejs,淘汰賽一起使用。通過AMD加載微風

看着Breeze代碼,我可以看到它需要通過名稱「ko」敲除。但是,還有其他組件需要通過名稱「淘汰賽」淘汰賽。

因此,如果我爲「knockout」路徑創建requirejs的配置,加載器會抱怨「ko」尚未加載。如果我手動更改Breeze代碼,將「ko」替換爲「knockout」可以正常工作。

可以做些什麼,所以更改Breeze代碼是不必要的?

回答

5

您可以使用map config來重新映射任何請求,以使'ko'變爲'knockout'。事情是這樣的:

require.config({ 
    // 
    // your other config (e.g. paths) 
    // 

    // remap requests for 'ko' 
    map: { 
     'breeze': { 
      'ko': 'knockout' 
     } 
    } 
}); 

或者,如果你想爲「KO」這些請求來自所有模塊映射,您可以使用通配符*:

map: { 
    '*': { 
     'ko': 'knockout' 
    } 
} 
+0

非常感謝。地圖配置是一個很好的提示。我不得不稍微修改代碼:使用「微風」作爲ID不起作用,但「*」做了。 – mgs

+0

@mgs謝謝,並補充說,讓答案更容易讓其他人看到它。 – explunit