npm注册表中保存着很多package,这些package中有些也是node module,有些包含node module。package和module的区别和相互作用见正文。
A package is a file or directory that is described by a package.json file. A package must contain a package.json file in order to be published to the npm registry.
Packages can be unscoped or scoped to a user or Org, and scoped packages can be private or public.
一、package的形式应该是下面任意一种:
a) 包含package.json文件的文件夹
b) 满足a条件的gzip、tar压缩包
c) 指向b的url
d) A @ that is published on the registry with ( c )
e) A @ that points to ( d ).
f) A that has a latest tag satisfying ( e ).
g) A git url that, when cloned, results in ( a ).
A module is any file or directory in the node_modules directory that can be loaded by the Node.js require() function.
二、module的形式应该是下面任意一种:
a) A folder with a package.json file containing a “main” field.
b) A folder with an index.js file in it.
c) A JavaScript file.
小结:一个module是不是package就看其是否拥有package.json文件,拥有了,它就也是一个package了。