可以将Leiningen配置为将所有已编译的JS捆绑到单个文件中吗?目前它输出的文件超过一百个,生产速度非常慢。
顺便说一句,我正在使用Chestnut boilerplate。文档说:
问:我只想编译ClojureScript以完全优化JavaScript,因此我可以在静态HTML网站中使用它。
答:调用cljsbuild并激活uberjar配置文件,如下所示:
lein with-profile -dev,+uberjar cljsbuild once
,然后查找resources/public/js/app.js
。
我已经尝试过,但结果app.js
仍然只是从其他文件加载依赖项,它不包含整个应用程序。
答案 0 :(得分:1)
正如评论中所指出:请确保使用以下:optimizations
之一:
:whitespace
:simple
:advanced
您可以在ClojureScript wiki中找到更多信息: https://github.com/clojure/clojurescript/wiki/Compiler-Options#optimizations
答案 1 :(得分:1)
似乎lein with-profile -dev,+uberjar cljsbuild once
确实生成了一个.js包。 :uberjar
个人资料已设置:optimizations :advanced
选项:
:uberjar {:source-paths ["env/prod/clj"]
:hooks [leiningen.cljsbuild]
:env {:production true}
:omit-source true
:aot :all
:main calc-pack.server
:cljsbuild {:builds {:app
{:source-paths ["env/prod/cljs"]
:compiler
{:optimizations :advanced
:pretty-print false}}}}}
显然,由于我自己的代码中的错误,它无法正常工作。