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

这个 lein-cljsbuild 问题迫使我最初只将其设置为警告,而不是像引发 IllegalArgumentException 那样引发严重错误。尽管我同意应该是一个严重错误。如果我们从警告开始,它可以使开发人员立即解决问题,并留下一个在 cljsbuild 项目中需要修复的痕迹。然后当那端修复后,就可以将其设置为严重错误。如果 cljsbuild 能很快修复,那就没问题,但如果需要很长时间,警告可能是一个好的第一步。

0 投票

评论者:mfikes

补丁不再适用。(而且它不支持与 {{git am}} — see https://script.clojure.org/community/patches.)

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