Bowerjspm 有何不同? Bower 可以提供关于 SystemJS universal module loader 的 jspm 功能吗?

最佳答案

JSPM 是比 Bower 更大和雄心勃勃的项目。 Bower 只有一个目的——将您需要的源文件从网络下载到您的硬盘。对于作为消费者的您来说,bower 不会做任何其他事情。如果要从 Bower 执行脚本文件,则需要为每个文件创建脚本标签。

而 jspm 不仅仅是一个模块下载器。它默认下载您提到的 systemjs。 SystemJS 的实现尽可能接近 https://whatwg.github.io/loader/。实际上,JSPM 的作者是规范过程的非常积极的参与者。使用 systemjs,今天您可以在浏览器中加载 ES6(通过在浏览器中转译它们)、CommonJS 或 AMD 模块,而无需构建它们。不仅是 ES6 模块,还有 traceur/babeljs/typescript 支持的所有其他 ES6 特性。取决于您在运行 jspm init 时选择的编译器。 SystemJS 在 node.js 和浏览器中以 1:1 的方式工作,因此可以轻松完成应用程序的单元测试。

当您需要投入生产时,它还可以为您构建包(jspm build)。所以很明显jspm(+systemjs)是一个更强大的工具。
所以作为一个经验法则:

  • 需要快速获取 jquery 并将其包含在您的服务器端模板化 html 中吗?使用常规脚本标签。 Bower 已被弃用。
  • 需要构建大型JS应用程序吗?使用 Webpack。 JSPM 没有达到临界质量,现在每个人都在做 webpack。
  • 关于bower - 包管理器 : Bower vs jspm,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25416813/

    10-14 01:21