我对jspm比较新。我想知道运行jspm install package
和npm install package
时的区别。我知道有一个jspm / registry查找。但是在设置config.js
时有什么不同。如果使用npm安装软件包,还有其他更改吗?
答案 0 :(得分:4)
npm和jspm都是包管理器 npm用于节点生态系统,传统上用于后端依赖。
为了强制实现前端和后端之间的分离,开发人员使用了专门用于前端的工具。有凉亭和喜欢......以及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
答案 1 :(得分:0)
两者都是包管理器,基本上都是相同的功能,但这里有一些不同之处:
恢复包通常如下:
npm install
(应在其他库中安装jspm)jspm install