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

欢迎!有关如何操作,请参阅关于页面上的更多信息。

0
ClojureScript

ClojureScript静默地忽略缺失的externs文件,可能导致开发人员跟踪问题。

如果您在:externs文件的路径名中犯了一个错误,目前使用高级编译可能会非常令人困惑。此补丁使编译器在stderr上打印警告,以便您可以快速确定破坏高级编译输出的原因。

作为副作用,在进行基本的lein-cljsbuild时总是会打印警告

警告:js资源路径closure-js/externs不存在

这是因为lein-cljsbuild悄然地将此额外路径添加到您的:externs列表中,而您浑然不知。

9个答案

0

评论人为:dnolen

您需要将绑定到 },或者直接打印到它,例如:{{cljs.util/debug-prn}}。

0

评论人为:retrogradeorbit

我已将输出绑定到err。请查看补丁。

0

评论人为:dnolen

Crispin,抱歉,您是对的。谢谢。

0
by
0
by

评论人为:dnolen

该解决方案不适用于 cljsbuild。不清楚为什么与 {{deps.clj}} 采取的方法相比,在此处有这么多的配置。

0
by

评论人为:dnolen

在 cljsbuild 问题上停滞不前 https://github.com/emezeske/lein-cljsbuild/issues/383

0
by

评论人为:retrogradeorbit

这个 lein-cljsbuild 问题使我最初将其定义为一个警告,而不是像引发 IllegalArgumentException 那样抛出硬错误。尽管我同意它应该是一个硬错误。如果我们开始一个警告,它可以启用开发者立即解决立即的问题,并为 cljs-build 项目留下一个需要在此端修复的“瑕疵”。然后当那一端修好后,它就可以成为一个硬错误。如果 cljsbuild 很快就修好了,那一切就没事了,但如果需要很长时间,一个警告可能是一个好的第一步。

0
by

评论者:mfikes

补丁不再适用。(它也不适用于 {{git am}} - 详见 https://script.clojure.org/community/patches。)

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