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

欢迎!请查看关于页面以了解更多关于此是如何工作的信息。

0
ClojureScript

当命名空间需要自身时,编译会停滞,而没有错误消息。
最好抛出错误,或者至少向用户打印一条警告消息。

5 答案

0

评论者:mfikes

在 1.9.908 和 1.9.946 上都无法重现。

{{src/itself/core.cljs}}

(ns itself.core (:require itself.core))

$ java -cp cljs.jar:src clojure.main -m cljs.repl.node ClojureScript Node.js REPL 服务器正在监听端口 54877 要退出,请输入: :cljs/quit cljs.user=> (require 'itself.core) clojure.lang.ExceptionInfo: 断言失败:检测到循环依赖,cljs.user -> itself.core -> itself.core

0

评论者:frozenlock

我仍然在 1.9.946 上遇到相同的行为。
尝试使用 figwheel 和 uberjar。
两者都停滞不前,没有错误消息。

这是否是工具链的问题,例如 Leiningen?

0

评论者:mfikes

是的。使用 Figwheel,我会尝试禁用 {{:autoload}}(参见 https://github.com/bhauman/lein-figwheel/wiki/Configuration-Options#client

如果这允许您将其隔离为 Figwheel,或许这个 JIRA 可以关闭。

0

评论者:frozenlock

在这种情况下,这不会改变太多:当运行Figwheel或Uberjar时,它会挂起,因为它无法完成cljs编译。

我已经使用lein-cljsbuild进行测试,我遇到了相同的问题。
我将与cljsbuild团队核实,问题是否在他们那一侧。

0
参考: https://clojure.atlassian.net/browse/CLJS-2363(由 alex+import 报告)
...