斯卡拉。如何从生成的输出 js 文件中排除子模块?

ScalaJS. How to exclude submodules from the resulting output js file?

我有一个来自三个模块 A、B 和 C 的链的前端应用程序。B 依赖于 A。C 依赖于 B 和 A。每个模块都有自己的 sbt 文件,用于构建 js 文件。一些应用页面只使用A,其他A和B,其他A,B和C。模块C的SBT文件如下所示。

name := "C"
version := "1.0"
scalaVersion := "2.12.1"
scalaSource in Compile := baseDirectory.value / "src"

lazy val A = RootProject(file("../A"))
lazy val B = RootProject(file("../B"))
val main = Project(id = "C", base = file(".")).dependsOn(A).dependsOn(B)

enablePlugins(ScalaJSPlugin)

问题是 "sbt fullOptJS" 创建了一个 js 文件,其中重复了 A 和 B 的定义。我希望为模块 C 创建的文件使用已经为模块 A 和 B 加载到浏览器的文件,而不是重复它们。

恐怕这是不可能的。有关某些上下文,请参阅 https://github.com/scala-js/scala-js/issues/2681 and https://github.com/scala-js/scala-js/issues/2833