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 报告)
...