欢迎!请在 关于 页面查看有关该功能更多详细信息。
如果你的代码像这样 1. },那么 {{JSValue}} 将放置在编译器异常的结果中。由于 {{JSValue}} 不可序列化(它只是一个简单的 {{deftype}}),这显然导致环境中期望异常可序列化的问题(如 {{boot}} 确实如此)。
注意:简单地改为 {{defrecord}} 显然会导致单元测试因某种原因而失败。另请参阅 CLJS-1898。
由 mfikes 发表的评论
使用 {{defrecord}} 为 {{JSValue}} 的问题似乎源于启动时需要一些尚未提供的核心功能。
附带的补丁采取了较为保守的方法,简单地将 {{JSValue}} 使其成为 {{Serializable}},并在 Clojure 下测试了这个方面。
将 CLJS-2813.patch 添加到 Patch Tender(i)