2016-08-24 111 views
3

我对jspm比较陌生。我想知道什么时候运行jspm install packagenpm install package有什么不同。我知道有一个与jspm /注册表查找。但是在设置config.js时有什么不同。如果使用npm安装软件包,是否还有其他更改?jspm install和npm install的区别

回答

0

两者都是包管理器,基本上做同样的功能,但这里有一些差异:

  • NPM将跟踪中的package.json文件包,同时JSPM将使用config.json文件。
  • Npm会将其程序包存储在node_modules文件夹中,而jspm将使用jspm_components文件夹。
  • Jspm更常用于为服务器端引入客户端\前端库和npm。

恢复包通常会遵循这样的:

  • 运行npm install(应该安装JSPM除其他库)
  • 运行jspm install
+0

一次,我已经JSPM安装(使用NPM),然后当我安装devDependencies或依赖性,什么是在使用JSPM安装'包name'和NPM安装安装它们'包的区别-name'。另外这些分别在我的项目中如何处理? –

+0

一个在jspm_packages文件夹中,另一个在node_modules文件夹中。 Jspm可以加载来自不同来源的模块,并且通常是涉及更多客户端库的工作的首选方案。这两位软件包管理人员在依赖管理方面也采取了不同的策略。 –

3

NPM和JSPM都是包管理器。
npm用于节点生态系统,传统上服务于后端依赖项。

为了强化前端和后端之间的分离,开发人员使用专门用于前端的工具。有凉亭和喜欢...以及jspm。


我想知道运行jspm install packagenpm install package时有什么区别。

这里是新公共管理和热蒙之间存在一些差异:
- JSPM存储它依赖于jspm_packages而NPM将它们存储在node_modules
- JSPM采用了扁平的依赖关系树
- JSPM允许您配置任意注册机构(github和npm默认配置)
- 即使jspm将模块声明和映射以及配置追踪到它自己的文件(config.json)中,它实际上也定义了包内的项目依赖关系。 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