代码之家  ›  专栏  ›  技术社区  ›  Nikita

如何分解scala.js js输出的大小

  •  3
  • Nikita  · 技术社区  · 6 年前

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

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

    我知道scala.js优化使我们不可能说一个给定的库的权重正好是x kb,所以我对一个查看特定包的解决方案感兴趣。

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

    所以我的问题是,是否有任何工具甚至是半生不熟的脚本可以改进我的工作?

    2 回复  |  直到 6 年前
        1
  •  1
  •   tiagolisalves    6 年前

    这可能不是你想要的那样精确,

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

    要将二进制代码编译成javascript,可以使用下面提供的代码 answer .

        2
  •  1
  •   Nikita    5 年前

    终于找到了一个好的解决方案——使用正确的sbt配置 source-map-explorer npm包正是基于sourcemaps(当然!)。它显示了各个scala类对bundle大小的直接影响。

    来源: Scala.js issue #3556