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