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

欢迎!请参阅 关于 页面以获取更多关于该如何工作的信息。

0
ClojureScript

clojurescript 会静默忽略缺失的 externs 文件,可能导致开发者无所适从。

如果您在外部文件路径名称上犯了一个错误,现在使用高级编译可能会非常令人困惑。这个补丁会使编译器在标准错误(stderr)上打印警告,以便您快速确定损坏的高级编译输出的原因。

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

WARNING: 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 提出

这个问题让我最初只是将其作为警告,而不是像引发 IllegalArgumentException 那样引发错误。尽管我同意这应该是一个硬错误。如果我们从警告开始,这将允许开发者立即解决即时问题,并为 cljs-build 项目留下一个瑕疵,表明他们的端需要修复。然后当那一端得到修复时,我们可以将其改为硬错误。如果 cliffsbuild 能够很快得到修复,那么一切都会好起来,但如果需要很长时间,警告可能是一个好的第一步。

0

评论者:mfikes

补丁不再适用。(此外,它也不适用于 {{git am}}—参见 https://script.clojure.org/community/patches。)

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