【发布时间】:2016-08-24 11:15:06
【问题描述】:
我对 jspm 比较陌生。我想知道jspm install package 和npm install package 的运行时间有什么区别。我知道有一个 jspm/registry 的查找。但是在设置config.js 时有什么不同。如果使用 npm 安装包,是否需要进行任何其他更改?
【问题讨论】:
标签: jspm
我对 jspm 比较陌生。我想知道jspm install package 和npm install package 的运行时间有什么区别。我知道有一个 jspm/registry 的查找。但是在设置config.js 时有什么不同。如果使用 npm 安装包,是否需要进行任何其他更改?
【问题讨论】:
标签: jspm
npm 和 jspm 都是包管理器。
npm 用于节点生态系统,传统上提供后端依赖项。
为了强制区分前端和后端,开发人员使用了专门用于前端的工具。出现了 bower 之类的......以及 jspm。
我想知道
jspm install package和npm install package的运行时间有什么区别。
以下是 npm 和 jspm 之间的一些区别:
- jspm 将其依赖项存储在 jspm_packages 中,而 npm 将它们存储在 node_modules
- jspm 使用扁平的依赖树
- jspm 允许您配置任意注册表以从中获取依赖项(默认配置 github 和 npm)
- 即使 jspm 将模块声明和映射以及配置跟踪到它自己的文件 (config.json) 中,它实际上在 package.json 中定义了项目依赖项(在属性 jspm 内)
- 您可以将 jspm 包用于 jspm 项目或节点/Web 项目
- jspm 实际上只是一个包管理器,它包裹着 SystemJs 的配置系统
因此,当您从 jspm 安装包时,它使用 SystemJs 配置并设置依赖项之间的映射,允许您将项目导出为任何模块类型(AMD、CJS、esm、umd ...)。
如果使用 npm 安装包,是否需要进行任何其他更改?
jspm install package 在 jspm 注册表中进行查找。
如果没有找到包,则意味着您必须指定该包来自哪个注册表。
对于 npm 包,它是:jspm install npm:package。
您当然可以通过在包名称末尾附加@version 来指定特定版本。
jspm 还允许你声明一个简写来在你的代码中映射这个库。
有关更多信息,请参阅文档:http://jspm.io/docs/installing-packages.html
【讨论】:
两者都是包管理器,基本上执行相同的功能,但这里有一些区别:
恢复包通常如下所示:
npm install(应该在其他库中安装jspm)jspm install
【讨论】:
package-name 和 npm install package-name 安装它们有什么区别。还有这些在我的项目中是如何单独处理的?