我可以在没有Google闭包库的情况下编译ClojureScript吗?

我可以在没有Google闭包库的情况下编译ClojureScript吗?,clojure,clojurescript,Clojure,Clojurescript,我是Clojure和ClojureScript的超级粉丝,我通常更喜欢在我的项目中使用ClojureScript而不是其他替代方案,但有一件事有时会阻碍我使用它,尤其是在较小的项目中,那就是生成的javascript中包含了Google闭包库,增加了约80kb的空间,即使我在代码中没有使用API 有没有办法编译ClojureScript来避免这个额外的权重?更正:正如Zubair指出的,下面的步骤禁用了Google闭包优化,但没有从最终JavaScript中删除Google闭包代码。正如另一个答

我是Clojure和ClojureScript的超级粉丝,我通常更喜欢在我的项目中使用ClojureScript而不是其他替代方案,但有一件事有时会阻碍我使用它,尤其是在较小的项目中,那就是生成的javascript中包含了Google闭包库,增加了约80kb的空间,即使我在代码中没有使用API


有没有办法编译ClojureScript来避免这个额外的权重?

更正:正如Zubair指出的,下面的步骤禁用了Google闭包优化,但没有从最终JavaScript中删除Google闭包代码。正如另一个答案所建议的那样,您应该选择高级优化来消除未使用的JavaScript


在中,作者解释了如何禁用Google关闭步骤:

Google闭包编译器的
:optimizations
值为
:none
[在
project.clj
]中] 将根本不被调用,并且生成将写出 ClojureScript编译器直接生成的JavaScript。这种模式 对于开发和调试非常有用。然而,JavaScript 输出将被分割到多个单独的文件中,只需稍微 浏览器中的不同处理[…]


请注意,这可能会也可能不会减少生成的JavaScript的大小,因为GoogleClosure做了相当多的工作来去除代码没有特别调用的内容。可能值得玩转
:优化的各种值(
:无
:空白
:简单
:高级
)看看每种情况下生成的JavaScript有多大。

额外的大小不是来自Google闭包库——如果您启用了高级优化,闭包编译器将从最终JavaScript中删除您没有使用的闭包库代码。
相反,JavaScript看起来很大,因为里面有一个完整的Clojure运行时,实现了懒惰的seq、承诺和其他一切。

@ColeJohnson:Patient:“医生,我呼吸有问题”。医生:“不要呼吸,你会好起来的。”)谢谢,我来试试。这个答案是错的。问题是如何排除googleclosure库,它是googleclosure的UI库。这个答案说明了如何在代码上不运行闭包编译器。正如我在其他评论中提到的,这是正确的答案,而不是另一个。我明白了,我没有意识到javascript本身就是ClojureScript运行时。谢谢