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

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


当前回答

看看这个模块成本项目。这是一个npm包,它会列出包的大小和子元素的数量。

安装: NPM install -g cost-of-modules

用法: 在您工作的目录中运行cost-of-modules。

其他回答

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

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

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

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

一个“快速而肮脏”的方法是使用curl和wzrd。在快速下载压缩包,然后grep文件大小:

curl -i https://wzrd.in/standalone/axios@最新| grep内容长度

下载的包被压缩了,但没有压缩到gzip,但是当您比较两个或多个包时,您可以很好地了解包的相对大小。

尽量使用包装大小。

npx package-size vue,vue-router,vuex react,react-dom,react-router,redux

https://github.com/egoist/package-size

我已经创建了一个工具npm download size,它可以检查给定npm包的tarball大小,包括依赖树中的所有tarball。这可以让您了解预先添加依赖项的成本(安装时间、磁盘空间、运行时资源、安全审计……)。

在上图中,Tarball size是package的tar.gz, Total size是所有Tarball的大小。这个工具非常基本,但它做到了它所说的。

还可以使用cli工具。你可以这样安装:

npm i -g download-size

像这样使用它:

$ download-size request
request@2.83.0: 1.08 MiB

源代码可在Github: api, cli工具和web客户端。

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

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

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