分享您的看法,参与2024年Clojure调查

欢迎!请参阅关于页面以获取更多关于该工作方式的信息。

0
ClojureScript

当前调用(enable-console-print!)会导致在:advanced模式下保留大量代码,即使您从未打印。

虽然这并不是最佳做法,但它不会导致运行时错误。但是,不调用它并尝试打印将会抛出异常,这可能会破坏您的应用。

为评估环境未设置*print-fn*函数

因此,对于:advanced编译,我们陷入了进退两难的局面。一个“遗忘”的{{prn}}可能会在生产环境中破坏您的应用,或者“可能”通过保留所有与打印相关的内容而扩大文件大小。

我认为在没有设置*print-fn*的情况下,绝对不应该抛出异常,也许只是尝试使用console.log写入警告。或者,干脆去掉{{prn}}。

4 个答案

0

由dnolen发表的评论

让我们将旧的行为移动到string-print中。

0

由mfikes发表的评论

附带的CLJS-2002.patch将抛出移动到{{string-print}},并将{{null}}作为两个变量初始化来解决CLJS-2231。但它没有解决提到的工单:代码中遗留下不当的{{prn}}会导致调用{{string-print}}并抛出异常。

0

由dnolen发表的评论

https://github.com/clojure/clojurescript/commit/797e247fbef676544060a57da995f058db061f37 部分解决此问题。保持此问题开放并降低优先级,我们应该重新考虑。

0
...