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

欢迎!请参阅 关于 页以了解有关如何使用此内容的更多信息。

0
ClojureScript

ClojureScript 会静默地忽略缺失的 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
0

评论者:dnolen

该解决方案对 cljsbuild 不适用。不清楚为什么在针对 {{deps.clj}} 的方法上存在如此多的机械装置。

0

评论者:dnolen

由于此 cljsbuild 问题而停滞不前 https://github.com/emezeske/lein-cljsbuild/issues/383

0

评论者:retrogradeorbit

这个 lean-cljsbuild 问题让我最初只是把它设为警告,而不是像引发 IllegalArgumentException 一样引发硬错误。虽然我同意它应该是一个硬错误。如果我们从警告开始,它可以让开发者立即解决即时问题,并且在虚无的项目中留下一个需要修复的病例。然后在这个末端修复后,它可以成为一个硬错误。如果 cljsbuild 很快就修复了,那就一切顺利,但如果需要很长时间,警告可能是一步好的开始。

0

评论者:mfikes

补丁不再适用。(也可能与 {{git am}} 不兼容——见 https://script.clojure.org/community/patches。)

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