通过AMD加载Breeze

mgs*_*mgs 1 javascript amd requirejs knockout.js breeze

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

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

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

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

exp*_*nit 5

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

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

    // remap requests for 'ko'
    map: {
        'breeze': {
            'ko': 'knockout'
        }
    }
});
Run Code Online (Sandbox Code Playgroud)

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

map: {
    '*': {
        'ko': 'knockout'
    }
}
Run Code Online (Sandbox Code Playgroud)