2024年Clojure调研中分享您的想法!

欢迎!请访问关于页面以了解更多关于这如何工作的信息。

+1
ClojureScript

我刚刚破坏了我们的 cljsbuild,我很想知道这是bug还是预期行为。

我们有一个外部JS文件,它定义了一个全局对象以及一个函数:link.myfn(),我们还有一个描述它的externs文件。我们有一个命名空间,它共享前缀:link.theme。在开发过程中,它按预期工作。然而,使用高级优化时它失败了,因为我们的 cljs 输出似乎定义了一个空的 link 对象,这条声明有效地覆盖了来自外部库的对象。如果我不排除externs和外部库,就不会创建空对象。

我已经上传了一个可以重现这个问题的repo,并解释了我在其中尝试的四种情况,但只有一个是失败的:https://github.com/cjohansen/cljsns

这对我来说看起来像是一个bug,但可能是我不知道的编译器细节。有人知道吗?

1 答案

0

您尝试只用Google Closure重现这个问题了吗?这似乎并不难做到。

...