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 文件中,开发者可以指定每个依赖项的版本范围,这样既可以保证模块自动更新,又不会因为所需模块功能大幅变化导致项目出现问题 。开发者也可以选择将模块固定在某个版本之上 。
参阅
JavaScript
V8 (JavaScript引擎)
Node.js
免责声明:以上内容版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。感谢每一位辛勤著写的作者,感谢每一位的分享。

- 有价值
- 一般般
- 没价值








24小时热门
推荐阅读
关于我们

APP下载


{{item.time}} {{item.replyListShow ? '收起' : '展开'}}评论 {{curReplyId == item.id ? '取消回复' : '回复'}}