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 投票
0 投票

由:dnolen

该方案不适用于 cljsbuild。不清楚为什么针对 {{deps.clj}} 所采取的方法中放置了如此多的装置。

0 投票

由:dnolen

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

0 投票

由:retrogradeorbit

这个 lein-cljsbuild 问题让我最初只是将其设置为警告,而不是像引发 IllegalArgumentException 那样设置为硬错误。尽管我同意它应该是一个硬错误。如果我们从警告开始,这可以立即解决开发者的一个问题,同时留下一个需要修复的标记,让 cljs-build 项目可以看到并在其端进行修复。然后当那端修复后,可以将其设置为硬错误。如果 cljsbuild 很快就修复了,那么一切都会好起来,但如果需要很长时间,则警告可能是一个好的第一步。

0 投票

评论者:mfikes

补丁不再适用。(它也无法与 {{git am}} 一起使用——见 https://script.clojure.org/community/patches。)

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