我正在编写 scala-js 前端框架,其关键特性是服务器端渲染。这个想法是有一些组件可以使用document.createElement
,element.appendChild
和其他组件来操作 dom。在服务器上,我将子类化HTMLDocument
和Element
其他人,用可以转换为纯字符串 html 的服务器 dom 实现覆盖他们的方法。所以我向scalajs-dom_sjs
服务器模块添加了依赖项并尝试这样做。但是HTMLDocument
,Element
并且很可能其他类有调用js.native
在他们的构造函数中抛出异常说“使用库的JVM版本”。这显然不存在。我可以使用另一种方式并实现我自己的 dom 库,但这是工作量的两倍,因为我必须在服务器和客户端上实现它,而使用第一种方法我只在服务器上实现一次。
所以我的问题是:为什么严格禁止在服务器上使用 scala-js 库版本,是否有解决方法?