问题描述
我有一个节点投影,它具有一个依赖性,比方说depA
。在项目上运行yarn install
后,它会下载depA
中node_modules/depA/node_modules
的所有依赖项,这会使node_modules
目录很大。它不会下载该文件夹的其他依赖项。有什么我应该看看为什么它会发生在depA
上吗?
解决方法
它是如何在node.js中安装依赖项的,创建了一个名为node_modules的文件夹,然后从npm服务器中提取并下载package.json
中提到的所有依赖项。
现在转过来,说在package.json中只有依赖项depA。但是库depA内部依赖于depSubA,depSubB,那么这2个库也将被下载,以便depA可以正常工作。
在以前版本的npm(我猜是5之前)中,node_modules内以前有子文件夹,这些子文件夹具有独立的依赖关系,从而形成重复和巨大文件夹的机会,最新版本现在共享这些常见的依赖关系。