Node.js和npm哪个词可以选择"包"或"模块"?

时间:2014-02-28 08:40:19

标签: node.js npm

我很困惑npm是一个包管理器,但Node.js有模块。所以当你安装或创建自己的...... erhmm,模块,包?选择哪个词而不是何时?

3 个答案:

答案 0 :(得分:2)

在Node中,单个文件是一个模块。它与程序的其他部分有点孤立,实际上通常以可以作为独立程序运行的方式编写(即使它没有做任何事情)。另一方面,节点中的包是更大的实体。它基本上是一个完整的程序/库,用于某种目的。包可以包含单个模块文件或数百个文件。

包通常由包的根目录中的“package.json”定义,它描述了创建者的目的以及有关该程序的其他内容。

答案 1 :(得分:2)

查看文档http://nodejs.org/docs/latest/api/modules.html

  

在节点中,文件和模块是一一对应的。

另一方面,package是一个包含特殊package.json文件的文件夹。该文件告诉解释器在执行require(folder);时如何加载模块。换句话说,package是模块的集合。

答案 2 :(得分:1)

如果它顶部有package.json / package.yaml,并且可以从npm注册表安装,那么它绝对是一个包。

如果它是用CommonJS标准编写的一个简单的javascript文件(可能是你的软件包的一部分),它就是一个模块。