问题描述
我目前正在尝试减小我创建的 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 定义等。