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