JSPM bundle vs requireJs混淆

时间:2017-10-15 05:56:37

标签: javascript html requirejs jspm

我是jspm的新手。我有requrieJs背景。

捆绑时jspm将所有依赖项编译成一个大文件是真的吗?像jquery,jquery-ui,bootstrap,数据库到项目中使用的其他50个plguins?

如果是,那么有什么好处?如果在requrieJs中需要获取项目会不会更快?

1 个答案:

答案 0 :(得分:2)

默认情况下,jspm不会捆绑您的依赖项。每个依赖项都是自己导入的。因此,如果你有三个文件,比如main.js,smth.js和jquery.js,只要调用System.import,jspm就会逐个要求它们。对于静态依赖(如ES6模块),它在代码执行之前发生。但是您还可以在运行时需要其他模块。

背后的想法是HTTP / 2并不真正需要捆绑。 jspm知道整个依赖树,它可以并行请求所有依赖项。然后,所有文件都将通过相同的网络连接传递,这应该与在构建时捆绑它们时非常相似。

但是由于HTTP / 1仍然普遍存在,jspm提供了捆绑&构建CLI。但是这些命令默认只将所有内容放在一个大文件中。该过程高度可配置。您可以排除某些依赖项(如jquery)并将它们放在单独的包中,甚至可以从CDN加载jquery。有关排除/包含模块的详细信息,请参阅https://jspm.io/docs/production-workflows.html#creating-a-bundle