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

How does the unpacked size affect the minified size of an npm pckage?

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

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

https://www.npmjs.com/package/@agile-ts/core/v/0.0.11 <- 304kb(含评论)

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

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

https://bundlephobia.com/result?p=@agile-ts/core@0.0.11 <- 57kB(含注释)

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

我找到的另一个包的解压大小约为 325kb

https://www.npmjs.com/package/@hookstate/core <- 325kb

但缩小后的大小为 16.7kB。

https://bundlephobia.com/result?p=@hookstate/core@3.0.6 <- 16.7kb

-> 解压后尺寸大了大约 30%,缩小后尺寸小了 70%?

我发现的唯一区别是,我刚才提到的包包含 10 个文件,而我的包包含 66 个文件。 所以它比我的包裹小..但是它的解压尺寸也应该更小。

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

谢谢 ;D

重要的不是软件包在磁盘上包含多少,而是在应用所有捆绑和缩小之后在最终应用程序中需要多少 space。这个过程包括变量名重命名、删除注释、tree shaking 和删除 unused/unreferenced 代码。有一些工具可以检查最终应用程序的大小和依赖项的大小。它们因您使用的捆绑器而异。

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