我想用 requirejs 加载 jQuery 和几个插件。设置配置对象“paths”和“shim”属性有效。因此,在 TypeScript 中,我可以要求 jQuery 并通过 amd 依赖项加载插件。
现在我想最小化加载 jQuery 和插件所需的代码。我可以以某种方式告诉requirejs“每当需要jQuery时,通过paths属性中给出的路径加载它。然后加载以下插件......”。
本质上,这将允许我只需要 jQuery。所有插件也将自动加载。
我想用 requirejs 加载 jQuery 和几个插件。设置配置对象“paths”和“shim”属性有效。因此,在 TypeScript 中,我可以要求 jQuery 并通过 amd 依赖项加载插件。
现在我想最小化加载 jQuery 和插件所需的代码。我可以以某种方式告诉requirejs“每当需要jQuery时,通过paths属性中给出的路径加载它。然后加载以下插件......”。
本质上,这将允许我只需要 jQuery。所有插件也将自动加载。
正如您所发现的,shim
配置允许您定义在模块之前加载的内容,但没有相应的功能可以在模块之后加载某些内容。但是,r.js 优化的整体方法是将它们捆绑在一个文件中以节省加载时间。请参阅从requirejs jquery 文档页面链接的 shim 示例的优化部分。
您可能会在此基础上添加的另一个技巧是定义您自己的模块来加载其他模块:
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'])