我正在使用 scala.js 创建要在浏览器中运行的 javascript 代码,由 akka-http 服务器提供服务。我主要使用mill 作为我的构建工具,但后来想切换到sbt,这样我就可以使用ScalaJSBundler 插件来进行npm 依赖和打包。使用 sbt,当我执行 fastOpt 来编译我的 scala.js 代码时,创建的 javascript 代码与 mill 创建的代码略有不同,它现在包含 require 语句(mill build 没有),例如
var $i_react = require("react");
当此代码在我的浏览器中运行时,要求出现未定义。我在 scala.js 中导出的变量也是未定义的。我认为这是因为正在创建的代码是针对 ModuleKind.CommonJSModule 的(通过 sbt 设置 scalaJSModuleKind 设置),但是当我尝试将其更改为 ModuleKind.ESModule 时,构建失败并显示:
scalaJSModuleKind must be set to ModuleKind.CommonJSModule in projects where ScalaJSBundler plugin is enabled
我是 javascript(和 scala.js)的新手。我究竟做错了什么?这应该怎么做?
谢谢!