2024Clojure状态调查!中分享您的想法。

欢迎!请参阅关于页面获取更多工作方式信息。

0
ClojureScript

在浏览器REPL的`--init`文件中处理`{{(require 'cljs.js)}}`时出现失败。我还没有找到任何其他失败的空间命名(例如,`clojure.set`没有表现出这个问题)。

重现

`
(require 'cljs.js)

(prn cljs.js/empty-state)
`

$ clj -Srepro -m cljs.main -re browser -i foo.cljs -r TypeError: undefined is not an object (evaluating 'cljs.js.empty_state') cljs.user=>

在Node中正常工作

`
$ clj -Srepro -m cljs.main -re node -i foo.cljs -r

object[cljs$js$empty_state]

cljs.user=>
`

2个答案

0

评论者:mfikes

解决方法

在`-i`之前添加一个显式的`-e`与`require`

clj -Srepro -m cljs.main -re browser -e "(require 'cljs.js)" -i foo.cljs -r

这是一个奇特的解决方案,因为它在使用它的同时,您仍然需要在`foo.cljs`文件中包含该require。

0
...