使用SystemJS,如何指定一个库依赖于另一个库?例如,Bootstrap JavaScript库取决于jQuery。基于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
错误 - 这意味着在jQuery之前加载了Bootstrap。
如何确保在Bootstrap之前始终加载jQuery?
答案 0 :(得分:4)
在盲目改变事物之后,我碰巧遇到了似乎有效的配置。这是我的配置:
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配置的艰苦工作。< / p>