欢迎!有关如何操作,请参阅关于页面上的更多信息。
ClojureScript静默地忽略缺失的externs文件,可能导致开发人员跟踪问题。
如果您在:externs文件的路径名中犯了一个错误,目前使用高级编译可能会非常令人困惑。此补丁使编译器在stderr上打印警告,以便您可以快速确定破坏高级编译输出的原因。
作为副作用,在进行基本的lein-cljsbuild时总是会打印警告
警告:js资源路径closure-js/externs不存在
这是因为lein-cljsbuild悄然地将此额外路径添加到您的:externs列表中,而您浑然不知。
评论人为:dnolen
您需要将绑定到 },或者直接打印到它,例如:{{cljs.util/debug-prn}}。
评论人为:retrogradeorbit
我已将输出绑定到err。请查看补丁。
Crispin,抱歉,您是对的。谢谢。
已修复 https://github.com/clojure/clojurescript/commit/5f66a78bf469a9875e51aa39c29d3e66ce890eb4
该解决方案不适用于 cljsbuild。不清楚为什么与 {{deps.clj}} 采取的方法相比,在此处有这么多的配置。
在 cljsbuild 问题上停滞不前 https://github.com/emezeske/lein-cljsbuild/issues/383
这个 lein-cljsbuild 问题使我最初将其定义为一个警告,而不是像引发 IllegalArgumentException 那样抛出硬错误。尽管我同意它应该是一个硬错误。如果我们开始一个警告,它可以启用开发者立即解决立即的问题,并为 cljs-build 项目留下一个需要在此端修复的“瑕疵”。然后当那一端修好后,它就可以成为一个硬错误。如果 cljsbuild 很快就修好了,那一切就没事了,但如果需要很长时间,一个警告可能是一个好的第一步。
评论者:mfikes
补丁不再适用。(它也不适用于 {{git am}} - 详见 https://script.clojure.org/community/patches。)