2024 Clojure 状态调查! 中分享你的想法。

欢迎!请参阅 关于 页面以了解更多关于如何使用本站的信息。

0
ClojureScript

ClojureScript 会静默忽略缺少的外部文件,可能导致开发者徒劳无功。

目前,如果您在外部文件的路径名中犯了错误,使用高级编译功能可能会非常混乱。此补丁会使得编译器在 stderr 上打印警告信息,使您能够快速确定故障的高级编译输出的原因。

作为副作用,在进行基本的 lein-cljsbuild 时会始终打印警告

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