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 文件中,开发者可以指定每个依赖项的版本范围,这样既可以保证模块自动更新,又不会因为所需模块功能大幅变化导致项目出现问题。开发者也可以选择将模块固定在某个版本之上。

免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部