我想加载jQuery以及一些带有requirejs的插件。设置配置对象“paths”和“shim”属性有效。所以从TypeScript中我可以要求jQuery并通过amd依赖加载插件。
现在我想最小化加载jQuery和插件所需的代码。我可以以某种方式告诉requirejs“每当需要jQuery时,通过路径属性中给出的路径加载它。然后加载以下插件......”。
基本上这将允许我只需要jQuery。所有插件也会自动加载。
答案 0 :(得分:6)
正如您所发现的,shim
配置允许您定义在模块之前加载的内容,但是没有相应的功能可以在模块之后加载。但是,r.js优化的整体方法可以将它们一起捆绑在一个文件中,以节省加载时间。查看optimization section of shim example链接的requirejs jquery doc page。
另外一个你可以添加的黑客就是定义你自己的模块来加载其他模块:
require.config( {
shim: {
jquery: { exports: ['jQuery', '$'] },
plugin1: { deps: ['jquery'] },
plugin2: { deps: ['jquery'] }
}
});
define('jquerywithplugins', ['jquery', 'plugin1', 'plugin2'], function(jq) {
return jq;
});
然后代替require(['jquery'])
require(['jquerywithplugins'])