4

存在一些 webpack 包分析脚本,它们显示包含的模块列表及其大小。但是,Scala.js 为所有 Scala 代码生成了一个大模块,因此这些工具无法查看它。

作为库作者和其他 Scala.js 库的最终用户,我想知道各种 Scala 包/类对我的包大小有多少贡献。

我知道 Scala.js 优化使得不可能说给定库的权重正好为 X Kb,所以我对查看特定包的解决方案感兴趣。

目前我能做的最好是"com.package.name在生成的JS文件中搜索,并判断滚动条上结果指示器的密度,但这显然是非常次优的。

所以我的问题是,是否有任何工具甚至半成品脚本可以改进我正在做的事情?

4

2 回答 2

2

终于找到了一个好的解决方案——使用正确的 sbt config source-map-explorer npm 包可以根据 sourcemaps 完全满足我的需求(当然!)。它显示了单个 Scala 类对包大小的直接影响。

来源:Scala.js 问题 #3556

于 2019-02-16T09:25:36.070 回答
1

这可能并不像您想要的那样精确,

但是为了帮助测量每个 js 文件的近似大小,您可以检查由 scalac 编译器生成的 target/scala-2.1.2/classes 中的二进制文件(在运行诸如 fastOptJS 之类的任务后带有 .sjsir 扩展名)并将它们中的每一个编译为javascript。

要将二进制文件编译为 javascript,您可以使用此答案中提供的代码。

于 2018-07-05T00:08:01.617 回答