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

评论者: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}} —— see https://script.clojure.org/community/patches。)

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