欢迎!请参阅 关于 页面了解更多关于如何使用本站的信息。
如标题所示,def 似乎未经操作就通过了。
即 "(def x)" 成功但 "(def x 10)" 失败,因为"无法读取 undefined 的属性(读取 'x')"
请参阅此篇文章: https://script.clojure.org/guides/self-hosting
建议:simple 压缩优化应该可以工作
要复现: https://github.com/sstraust/ClojureDefRepro (请查看评论中的说明)
我没有运行代码,但我猜代码被编译成发出
cljs.user.x = 10;
其中cljs.user尚未定义。因此,当您尝试运行它时,它会尝试在cljs.user上设置x,从而失败。请先创建cljs.user,或者供编译时存在的一个已存在的:ns选项。
cljs.user
x
:ns
(ns cljs.user)