如何使用 SystemJS 指定库依赖项?

How can I specify library dependencies using SystemJS?

使用 SystemJS, how do I specify that one library depends on another? For example, the Bootstrap JavaScript library depends on jQuery. Based on the SytemJS docs,我假设我会使用 System.config.meta 属性:

指定此依赖项
System.config({
    baseUrl: './scripts',
    defaultJSExtensions: true,
    map: {
        jquery: './lib/jquery-2.2.0.min.js',
        bootstrap: './lib/bootstrap.min.js'
    },
    meta: {
        bootstrap: {
            deps: ['jquery']
        }
    }
});
System.import('./scripts/app.js');

不过这个好像没有效果。当我 运行 我的应用程序时,Bootstrap 库抛出 Bootstrap's JavaScript requires jQuery 错误 - 这意味着 Bootstrap 在 jQuery.

之前被加载

如何确保 jQuery 总是在 Bootstrap 之前加载?

在盲目更改之后,我偶然发现了一个似乎有效的配置。这是我的配置:

System.config({
    defaultJSExtensions: true,
    paths: {
        jquery: './scripts/lib/jquery-2.2.0.min.js',
        bootstrap: './scripts/lib/bootstrap.min.js'
    },
    meta: {
        bootstrap: {
            deps: ['jquery']
        }
    }
});

System.import('./scripts/app.js');

我认为密钥从 map 更改为 paths

编辑

旁注:在更多地了解 SystemJS 之后,我发现让 jspm 管理我的 SystemJS 的艰苦工作 容易配置。