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 报告)
...