作为将 scalaJS 从 0.6.x 升级到 1.4.0 的一部分,我正在将 scalatags 从 0.6.7 升级到 0.9.3。
在我的一些测试中出现以下错误:
scala.scalajs.js.JavaScriptException: TypeError: $m_Lorg_scalajs_dom_package$(...).document__Lorg_scalajs_dom_raw_HTMLDocument(...).createRange is not a function
跟踪代码,我相信它发生在执行 `scalatags.JsDom 中以下 scalatags 代码的第 141 行时:
我将调用提取createRange
到单独的测试中并得到相同的错误。打印了“创建范围”;“创建的范围”不是,它产生了与上面相同的异常。
createRange()
是本机功能。
谷歌搜索“createRange 不是函数”会产生许多类似的问题,似乎都与测试有关(但与 ScalaJS 无关)。他们中的许多人表示“修复”是document
用你自己版本的createRange
. 真的吗?
我最初认为这是 scalatags 的问题。然后我认为它与 scalajs 库有关。现在我认为它与 Node.js 有关,尽管 Google 没有生产任何确凿证据。
关于如何进行的建议?尝试猴子补丁document
?