Dan*_*ane 8 clojure clojurescript
我是Clojure和ClojureScript的忠实粉丝,我通常更喜欢使用ClojureScript而不是其他替代品用于我的项目,但有一件事有时会让我不再使用它,特别是在较小的项目上,是因为它增加了〜80kb.在生成的javascript中包含Google Closure库,即使我在代码中没有使用api也是如此.
有没有办法编译ClojureScript,避免这种额外的重量?
Kev*_* L. 11
额外的大小不是来自Google Closure库 - 如果您启用了高级优化,Closure编译器将删除您在最终JavaScript中未使用的任何Closure库代码.相反,JavaScript似乎很大,因为在那里有一个完整的Clojure运行时实现了懒惰的seqs,promises和其他所有东西.
更正:正如Zubair指出的那样,下面的步骤会禁用Google Closure优化,但不会从最终的JavaScript中删除Google Closure代码.您应该选择高级优化来消除未使用的JavaScript,如另一个答案所示.
在ClojureScript:Up and Running中,作者解释了如何禁用Google Closure步骤:
如果
:optimizations值为:none[inproject.clj],则根本不会调用Google Closure Compiler,构建将直接写出ClojureScript编译器生成的JavaScript.此模式对于开发和调试很有用.但是,JavaScript输出将分散在许多单独的文件中,在浏览器中需要稍微不同的处理[...]
请注意,这可能会或可能不会减少生成的JavaScript的大小,因为Google Closure会做一些工作来删除您的代码没有专门调用的任何内容.这可能是值得玩弄的各种值:optimizations(:none,:whitespace,:simple和:advanced),并看到所产生的JavaScript有多大在每种情况下.
| 归档时间: |
|
| 查看次数: |
1539 次 |
| 最近记录: |