关于nodejs中的中的module和package

173 阅读1分钟

关于npm registry

npm registry是一个JavaScript包的数据库,每一个包包含代码和元数据。开发者可以将他们下载下来并使用。

关于package和modules

npm registry包含package,其中也有很多是modules,或者包含modules

packages介绍

package是一个由package.json文件描述的文件或者文件夹。一个package必须包含package.json文件才能发布到npm registry中。

package格式

以下任何一种都可以定义为package:

  • a)包含由package.json文件描述的程序的文件夹
  • b)一个由(a)打包后的压缩包
  • c)一个指向(b)的URL
  • d)一个代表在registry发布过的(c)的<name>@<version>
  • e)一个代表指向(d)的<name>@<tag>
  • f)一个代表代表(e)最后tag的<name>
  • g)拉取后结果为(a)项目的giturl

modules介绍

module是任何可以被Node.jsrequire()方法加载的在node_modules中的文件或者文件夹

如果希望被Node.jsrequire()方法加载的话,一个module必须符合以下任一条件:

  • 一个package.json中包含main字段的文件夹
  • 一个JavaScript文件

**Note:**由于modules不是必须有package.json文件,所以不是所有module都是package。只有有package.json文件的module才是package。