关于公共 npm 注册表

公共npm注册表是一个包含JavaScript包的数据库,每个包由软件和元数据组成。开源开发人员和公司的开发人员使用npm注册表向整个社区或其组织的成员贡献包,并下载包以在自己的项目中使用。

要开始使用注册表,请注册 npm 帐户并查看 “入门” 和 CLI 文档。

关于 package 和 module

npm注册表包含包,其中许多也是Node模块,或者包含Node模块。请继续阅读以了解它们之间的区别以及如何相互作用。

关于包

一个包是由 package.json 文件描述的文件或目录。为了发布到 npm 注册表,包必须包含 package.json 文件。有关创建 package.json 文件的更多信息,请参阅“创建 package.json 文件”。

包可以是有范围的或对用户或组织的有范围的,有范围的包可以是私有的或公开的。有关更多信息,请参阅

  • “有关范围”
  • “有关私有包”
  • “包范围、访问级别和可见性”。

关于包格式

一个包可以是以下任何一种:

a) 包含由package.json文件描述的程序的文件夹。 b) 包含(a)的gzip压缩tarball。 c) 解析为(b)的URL。 d) 在注册表上发布的@,其中(c)。 e) 指向(d)的@。 f) 具有满足(e)的最新标签的。 g) 当克隆时,结果为(a)的git URL。

npm包的Git URL格式

可以按以下方式进行格式化:

git://github.com/user/project.git#commit-ish git+ssh://user@hostname:project.git#commit-ish git+http://user@hostname/project/blah.git#commit-ish git+https://user@hostname/project/blah.git#commit-ish

提交对象可以是任何标签、sha或分支,可以作为git checkout的参数提供。默认的提交对象是master。

关于模块

模块是在 node_modules 目录中的任何文件或目录,可以通过 Node.js 的 require() 函数加载。

要通过 Node.js 的 require() 函数加载,模块必须是以下之一:

  • 包含“main”字段的package.json文件的文件夹。
  • JavaScript文件。

注意:由于模块不需要具有 package.json 文件,因此并非所有模块都是包。只有具有 package.json 文件的模块也是包。