关于公共 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) 在注册表上发布的
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
文件的模块也是包。