通过AMD加载Breeze

时间:2013-08-20 19:03:17

标签: javascript knockout.js requirejs breeze amd

我尝试将Breeze与:TypeScript,AMD模块,requirejs,knockout一起使用。

查看Breeze代码,我可以看到它需要通过名称“ko”进行淘汰。但是,还有其他组件需要通过名称“knockout”进行淘汰。

因此,如果我使用路径“knockout”创建requirejs的配置,加载器将抱怨“ko”尚未加载。如果我手动更改Breeze代码,将“ko”替换为“knockout”,一切正常。

可以做什么,所以不需要更改Breeze代码?

1 个答案:

答案 0 :(得分:5)

您可以使用map config重新映射微风使'ko'变为'knockout'的任何请求。像这样:

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

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

或者,如果您要从所有模块映射“ko”请求,您可以使用* wildcard:

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