通过requirejs自动加载模块

mgs*_*mgs 2 javascript requirejs

我想加载jQuery加上几个带requirejs的插件.设置配置对象"paths"和"shim"属性有效.所以从TypeScript中我可以要求jQuery并通过amd依赖加载插件.

现在我想最小化加载jQuery和插件所需的代码.我可以以某种方式告诉requirejs"每当需要jQuery时,通过路径属性中给出的路径加载它.然后加载以下插件......".

基本上这将允许我只需要jQuery.所有插件也会自动加载.

exp*_*nit 6

正如您所发现的,shim配置允许您定义模块之前加载的内容,但是没有相应的功能可以模块之后加载内容.但是,r.js优化的整体方法可以将它们一起捆绑在一个文件中,以节省加载时间.请参阅requirejs jquery doc页面链接的shim示例优化部分.

你可以在其上添加的另一个黑客就是定义你自己的模块来加载其他模块:

require.config( {
    shim: {
        jquery: { exports: ['jQuery', '$'] },
        plugin1: { deps: ['jquery'] },
        plugin2: { deps: ['jquery'] }
    }
});

define('jquerywithplugins', ['jquery', 'plugin1', 'plugin2'], function(jq) {
    return jq;
});
Run Code Online (Sandbox Code Playgroud)

然后,而不是require(['jquery'])你做require(['jquerywithplugins'])