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 那样抛出一个硬错误的原因。虽然我同意它应该是一个硬错误。如果我们从警告开始,它就允许开发者立即解决 immediate problem,并为 cljs-build 项目留下一块需要修复的 scar。然后当那一端修复好了,它就可以成为一个硬错误。如果 cljsbuild 修复得很快,那么一切都好,但是,如果它需要很长时间,警告可能是一个好的第一步。

0

评论者:mfikes

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

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