2013-08-20 64 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