今天,我们,我和我的同事,复制了一个简单的角度项目。我们发现,这个项目包含超过30.000个文件。为什么有那么多文件?当然,安全地有一堆节点模块和其他“隐藏”的东西。但无论如何,这对于必要而言有点过分。 知道为什么这么大吗?
无关答案 0 :(得分:0)
如果您将项目复制到其工作状态,并且具有所有依赖项,那并不罕见。这是我们现在所生活的NPM世界。
我们的项目至少有15k文件:
Project, files, space usage/disk usage, disk wasted
A: 38k files, 309MB/364MB, 55MB
B: 39k files, 248MB/301MB, 53MB
C: 15k files, 130MB/150MB, 20MB
D: 17k files, 120MB/140MB, 20MB
E: 17k files, 64MB/84MB, 20MB
他们都是react + redux和node + express项目。我把磁盘空间浪费在主要是出于好奇的缘故;强调每个占用整个磁盘块的大量小文件(.js,package.json,.gitignore等)。
NPM会为每个其他依赖项安装依赖项,因此您可以获得以下重复项:
a
+-- b <-- depends on c@1.0.x
| `-- c@1.0.10
`-- d <-- depends on c@~1.0.9
`-- c@1.0.10
(来自4waisenkinder)
如果您有兴趣,可以尝试dedupe
这些文件。参见:
npm is installing dependencies in a weird recursive way
因此,故事的寓意是在复制之前删除node_modules
文件夹。不,真的,方式更快。