当我在NPM上搜索包时,我想看到包的大小(KB或MB等)。NPM似乎没有显示这一信息。

我如何确定一个NPM包会给我的项目增加多少膨胀?


当前回答

今年早些时候,我创建了“Package Phobia”,希望能在npmjs.com上获取包装大小信息,并跟踪包装膨胀的情况。

https://packagephobia.com

这是为了在你为服务器端依赖项(如express)或开发依赖项(如jest)运行npm install后测量磁盘空间。

您可以在这里阅读关于此工具和其他类似工具的更多信息:https://github.com/styfle/packagephobia


更新2020

“解包大小”(基本上是发布大小)可在npmjs.com网站上与“总文件”一起使用。然而,这不是递归的,这意味着npm的安装可能会更大,因为一个包可能依赖于许多包(因此包恐惧症仍然相关)。

还有一个未决的RFC用于从CLI打印此信息的特性。

其他回答

你可能想要衡量的是,如果你要将一个包添加到你的应用程序包中,它的影响。大多数其他答案只会估计源文件的大小,这可能不准确,因为内联注释,长var名称等。

我做了一个小工具,它会告诉你包的最小+ gzip大小后,它进入你的bundle -

https://bundlephobia.com

今年早些时候,我创建了“Package Phobia”,希望能在npmjs.com上获取包装大小信息,并跟踪包装膨胀的情况。

https://packagephobia.com

这是为了在你为服务器端依赖项(如express)或开发依赖项(如jest)运行npm install后测量磁盘空间。

您可以在这里阅读关于此工具和其他类似工具的更多信息:https://github.com/styfle/packagephobia


更新2020

“解包大小”(基本上是发布大小)可在npmjs.com网站上与“总文件”一起使用。然而,这不是递归的,这意味着npm的安装可能会更大,因为一个包可能依赖于许多包(因此包恐惧症仍然相关)。

还有一个未决的RFC用于从CLI打印此信息的特性。

在发布npm包之前,你可以使用下面的命令检查包的大小。

NPM发布——试运行

我已经附上了npm包的结果。

如果你正在使用webpack作为你的模块绑定器,请看看:

webpack-bundle-analyzer webpack-bundle-size-analyzer

我强烈推荐第一种选择。它在交互式树状图中显示大小。这可以帮助您找到打包文件中的包的大小。

这篇文章中的其他答案向你展示了项目的规模,但你可能不会使用项目的所有部分,例如摇树。其他方法可能无法显示准确的大小。

自从https://github.com/aholachek/bundle-wizard发布以来,我一直喜欢它。

它在已部署的站点上工作:npx bundle-wizard reddit.com 它适用于您的本地项目: 对于多页面的应用程序/网站,调整最后一行与你想检查的路径。 NPM运行构建 NPX serve -s build NPX bundle-wizard localhost:5000/

交互式视图对于发现在哪里非常有帮助。