请在2024 Clojure 状态调查!中分享您的看法。

欢迎!有关如何使用本站,请参阅关于页面以获取更多信息。

+2
ClojureScript
重新标记

在 CLJS 版本 1.10.891 之后,当将语言设置为 ES5 时,我会在 /goog/i18n/numberformat.js:963:8 处收到警告:

ERROR - [JSC_LANGUAGE_FEATURE] 此语言功能仅支持 ECMASCRIPT_2019 模式或更高版本:Optional catch binding。

据我所知,此问题尚未报告给 Google Closure Compiler。

2 答案

0

我在以下编译器选项中也看到了这种行为。

{:main            app.ns
 :optimizations   :advanced}

虽然我感到这个问题需要进一步的注意,但我应用的解决方案是。

{:main            app.ns
 :optimizations   :advanced
 :language-in     :ecmascript-next
 :language-out    :ecmascript-next}

注意:我并不建议这样做。有些人可能无法像这样更改其输出,但对我而言这是可以的。

by Maarten Truyens
谢谢,这确实应该可以解决问题。遗憾的是,出于兼容性原因(IE11...),这对我来说并不是一个真正的解决方案。

我很高兴看到不只是我一个人遇到这个问题。
0
by
编辑 by

大家好,

我在Google Closure的GitHub仓库中记录了一个bug,但(正如预期的那样),Google Closure的人期望问题是配置错误,即在Clojurescript端。

设置:language-in为:ecmascript-next可以解决该问题。

我认为这实际上是一个bug,或者至少应该在文档中提及,因为它存在:language-out :es5和依赖(不兼容的)默认:language-in的问题。

https://github.com/google/closure-library/issues/1155#issuecomment-1050110000

...