【问题标题】:difference between jspm install and npm installjspm install 和 npm install 的区别
【发布时间】:2016-08-24 11:15:06
【问题描述】:

我对 jspm 比较陌生。我想知道jspm install packagenpm install package 的运行时间有什么区别。我知道有一个 jspm/registry 的查找。但是在设置config.js 时有什么不同。如果使用 npm 安装包,是否需要进行任何其他更改?

【问题讨论】:

    标签: jspm


    【解决方案1】:

    npm 和 jspm 都是包管理器。
    npm 用于节点生态系统,传统上提供后端依赖项。

    为了强制区分前端和后端,开发人员使用了专门用于前端的工具。出现了 bower 之类的......以及 jspm。


    我想知道jspm install packagenpm 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

    【讨论】:

      【解决方案2】:

      两者都是包管理器,基本上执行相同的功能,但这里有一些区别:

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

      恢复包通常如下所示:

      • 运行npm install(应该在其他库中安装jspm)
      • 运行jspm install

      【讨论】:

      • 一旦我安装了 jspm(使用 npm),那么当我安装 devDependencies 或依赖项时,使用 jspm install package-name 和 npm install package-name 安装它们有什么区别。还有这些在我的项目中是如何单独处理的?
      • 一个在 jspm_packages 文件夹中,另一个在 node_modules 文件夹中。 Jspm 可以从不同的源加载模块,并且通常是涉及更多客户端库的工作的首选选项。这两个包管理器在依赖管理方面也采取了不同的策略。
      猜你喜欢
      • 1970-01-01
      • 2018-07-05
      • 2019-01-27
      • 2016-01-08
      • 2019-03-01
      • 1970-01-01
      • 2018-12-30
      • 2019-12-31
      • 2017-08-04
      相关资源
      最近更新 更多