我很困惑npm
是一个包管理器,但Node.js
有模块。所以当你安装或创建自己的...... erhmm,模块,包?选择哪个词而不是何时?
答案 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文件(可能是你的软件包的一部分),它就是一个模块。