我已经使用Scala.JS将一个简单的Scala类编译为JavaScript,并且想要将其导入JavaScript代码,但是导入它会引发以下异常:
Uncaught TypeError: Cannot read property 'Object' of undefined
at scalajsenv.js:39
我已经用定义相同类并导出它的简单脚本替换了生成的脚本。它起作用了,所以我确定问题出在Scala.JS方面。
Scala类:
@JSExportTopLevel("SomeClass")
@ScalaJSDefined
class SomeClass(i: Int) extends js.Object
build.sbt:
enablePlugins(ScalaJSPlugin)
name := "scalajs-example"
version := "0.1"
scalaVersion := "2.12.8"
scalacOptions += "-P:scalajs:sjsDefinedByDefault"
scalaJSLinkerConfig ~= { _.withModuleKind(ModuleKind.ESModule) }
project / plugins.sbt:
addSbtPlugin("org.scala-js" % "sbt-scalajs" % "0.6.27")
导入生成的代码的JavaScript文件:
import { SomeClass } from "./target/scala-2.12/scalajs-example-fastopt.js"