npm是什么意思

Fanly问答2019-07-09 09:56:44阅读(...)

npm 是 JavaScript 世界的包管理工具,并且是 Node.js 平台的默认包管理工具。通过 npm 可以安装、共享、分发代码,管理项目依赖关系。

npm 是 JavaScript 世界的包管理工具,并且是 Node.js 平台的默认包管理工具。通过 npm 可以安装、共享、分发代码,管理项目依赖关系。

npm

npm 完全用 JavaScript 写成,最初由艾萨克·施吕特(Isaac Z. Schlueter)开发。艾萨克表示自己意识到“模块管理很糟糕”的问题,并看到了 PHP 的 PEAR 与 Perl 的 CPAN 等软件的缺点,于是编写了 npm。

说明

npm 会随着 Node.js 自动安装。npm 模块仓库提供了一个名为“registry”的查询服务,用户可通过本地的 npm 命令下载并安装指定模块。此外用户也可以通过 npm 把自己设计的模块分发到 registry 上面。

registry 上面的模块通常采用 CommonJS 格式,而且都包含一个 JSON 格式的元文件。截止到 2016 年 7 月,npm 的 registry 上面已经注册了超过 280,000 个模块。

npm 的模块以“先到先得”的原则注册,各模块作者不会发生混乱。然而一旦有人撤回自己发布的模块,那么不仅会使依赖那个模块的项目出现问题,还会带来安全风险。例如有一个模块叫做“left-pad”,其中只有一个字符串对齐的功能。但是,当作者把它从 registry 里面移除之后,许多模块便无法正确构建。

npm 的 registry 没有审核机制,因此会存在一些低质量、不安全甚至有害的模块,不过 npm 服务器的管理员也可以删除有害模块并阻止不怀好意的用户。

另外也有人为 npm 制作了统计功能,这样可以让开发者了解各模块的使用情况,帮助他们选择合适的模块。

使用

npm 可以管理本地项目的所需模块并自动维护依赖情况,也可以管理全局安装的 JavaScript 工具。

如果一个项目中存在 package.json 文件,那么用户可以直接使用 npm install 命令自动安装和维护当前项目所需的所有模块。在 package.json 文件中,开发者可以指定每个依赖项的版本范围,这样既可以保证模块自动更新,又不会因为所需模块功能大幅变化导致项目出现问题。开发者也可以选择将模块固定在某个版本之上。

收藏1个人收藏头像
走进科技生活方式

评论交流

泪雪默认头像请「登录」后参与评论
  1. 加载中..