为什么普通的角度项目包含这么多文件?

时间:2018-06-07 13:32:16

标签: angular

今天,我们,我和我的同事,复制了一个简单的角度项目。我们发现,这个项目包含超过30.000个文件。为什么有那么多文件?当然,安全地有一堆节点模块和其他“隐藏”的东西。但无论如何,这对于必要而言有点过分。 知道为什么这么大吗?

P.S。这与Why are Angular 2 projects so large

无关

1 个答案:

答案 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文件夹。不,真的,方式更快。