解压后的大小如何影响 npm 包的缩小大小?

问题描述

我目前正在尝试减小我创建的 npm 包的包大小。我设法将解压后的大小达到了大约 210kb。

https://www.npmjs.com/package/@agile-ts/core/v/0.0.12

https://www.npmjs.com/package/@agile-ts/core/v/0.0.11

我所做的一项更改是在 'tsconfig' 文件的帮助下删除所有注释,这将我的解压缩大小减少了约 100kb,但缩小后的大小保持不变(57kb)?

https://bundlephobia.com/result?p=@agile-ts/core@0.0.12

https://bundlephobia.com/result?p=@agile-ts/core@0.0.11

所以我想知道解压后的尺寸是如何影响缩小后的尺寸的。缩小尺寸的注释是否已被删除?我在互联网上找不到这个问题的答案。

我发现的另一个包的解压大小约为 325kb

https://www.npmjs.com/package/@hookstate/core

但缩小了 16.7kB。

https://bundlephobia.com/result?p=@hookstate/core@3.0.6

-> 未包装尺寸大约大 30%,但缩小后尺寸小 70%?

我发现的唯一区别是,我刚刚提到的包由 10 个文件组成,而我的包由 66 个文件组成。 所以它比我的包裹小..但它在未包装的尺寸上也应该更小。

如果您有任何想法如何减小包大小.. 请随时贡献 ^^ 或给我一些建议 https://github.com/agile-ts/agile/issues/106

谢谢;D

解决方法

重要的不是包在磁盘上包含多少内容,而是在应用所有捆绑和缩小后在最终应用程序中占用多少空间。这个过程包括重命名变量名、删除注释、摇树和删除未使用/未引用的代码。有一些工具可以检查最终应用程序的大小和依赖项的大小。它们因您使用的打包程序而异。

为了缩小包下载大小而从源代码中删除注释是一个非常糟糕的主意。以及删除其他开发支持文件,如 Typescript 定义等。