忽略这可能不是一个好主意的事实是有可能让requirejs使用两个不同的路径引用一个库,即
require.config({
paths: {
'ko': '../Lib/knockout-2.1.0.debug',
'knockout': '../Lib/knockout-2.1.0.debug',
}
});
或者可能还有其他方式?目前正在抱怨
原因是我们有一些外部库在“淘汰”中具有外部依赖性,因为我们使用'ko'
答案 0 :(得分:5)
听起来map configuration是一种更好的方法。如果您的模块需要'ko'但其他模块需要'淘汰',那么只需将'ko'映射到模块的'knockout'即可。
require.config({
paths: {
'knockout': '../Lib/knockout-2.1.0.debug',
},
map: {
'*': { 'ko': 'knockout' }
}
});
如果只需要重新映射某些模块名称,请在上例中将“*”替换为模块名称。
或者,如果通过“我们使用'ko'的位置”,你也指window.ko,你可以这样做:
require.config({
paths: {
'knockout': '../Lib/knockout-2.1.0.debug',
}
});
define('ko', ['knockout'], function (punch)
{
window.ko = punch;
return punch;
});