Node.js 为什么我的node_modules文件夹中有那么多我没有安装的文件?

Node.js 为什么我的node_modules文件夹中有那么多我没有安装的文件?,node.js,node-modules,Node.js,Node Modules,我正在创建一个nodeJS应用程序,并努力将其上传到我的服务器上。我只有6个依赖项,但出于某种原因,我的node_modules文件夹中有119个文件夹。我需要那些我没有安装的或者在我的pack.json依赖项中有的吗 提前谢谢 根据工具部分 js是关于模块化的,随之而来的是对质量包管理器的需求;为此,制定了npm。npm提供了所有编程生态系统中最大的社区创建包选择,这使得构建Node.js应用程序既快捷又简单 如何管理依赖关系 添加到项目中的每个库/依赖项必须有一个语义版本为1.2.x

我正在创建一个nodeJS应用程序,并努力将其上传到我的服务器上。我只有6个依赖项,但出于某种原因,我的node_modules文件夹中有119个文件夹。我需要那些我没有安装的或者在我的pack.json依赖项中有的吗

提前谢谢

  • 根据工具部分
js是关于模块化的,随之而来的是对质量包管理器的需求;为此,制定了npm。npm提供了所有编程生态系统中最大的社区创建包选择,这使得构建Node.js应用程序既快捷又简单

  • 如何管理依赖关系
添加到项目中的每个库/依赖项必须有一个语义版本为
1.2.x
,并且可以有其他依赖项,也可以没有

因此,如果您添加到项目中的每个依赖项都有自己的不同版本的依赖项,这将使您使用的包管理器将它们添加到
node\u模块中

具有常见依赖项且没有中断API/语义版本的项目依赖项将冒泡到您的
node\u模块
目录中,其余不常见的依赖项版本位于您添加到项目中的库中各自的
node\u模块
目录中

这是如何管理依赖关系以及Node.js模块化原因的一般概念

正如Node.js的原始开发者瑞安·达尔(Ryan Dahl)所说,这个工作流程也有缺点,因为
Node\u modules
目录变得臃肿


您应该听听他的一篇演讲

当您安装/导入某些依赖项时,它们与许多其他也已导入的软件包一起提供。如果确定了依赖项,则可以删除其余的依赖项。但如果您不这样做,删除它们可能只会导致依赖关系中断。此外,这是一个自以为是的问题,请重新构建您的问题,并参考了解我们期望的问题类型。干杯:)如果您对其他依赖项有疑问,可以删除或移动节点\模块文件夹,然后确保
package.json
具有正确的依赖项,然后运行
npm install
。现在您可以将节点模块与旧节点模块进行比较,无需在服务器上上载
节点模块
文件夹;当您在服务器上执行
npm install
命令时,此文件夹将自动生成/创建(在其他意义上,这些依赖项上)。不要忘记,您的依赖项的依赖项也可能安装在根目录下。你可以有更多的细节。