4

查看 cljsbuild 文档 https://github.com/emezeske/lein-cljsbuild

:cljsbuild {
    :builds [{
        ; The path to the top-level ClojureScript source directory:
        :source-paths ["src-cljs"]

        :compiler {
          :output-to "war/javascripts/main.js"  
            ; default: target/cljsbuild-main.js

这个需要

:source-paths 作为目录

:output-to 作为 js 文件

为什么不源目录-> 输出目录?

我们如何管理要编译为许多输出文件的许多源文件?

是否有任何配置可以映射 *.cljs @sourceDir -> *.js @targetDir ?

4

3 回答 3

4

可以获得多个输出文件,只需使用多个构建

请记住,代码旨在通过 Google Closure 编译器运行,这不仅将文件计数减少到 1(这对于浏览器下载更有效),而且还消除了代码中的大量冗余。它还确保以正确的顺序加载文件。

如果您不想要任何内联,则可以将:optimizations选项设置为:none( 与 , 或 相比:whitespace:simple:advanced可能会让您更接近您想要的东西。确保检查目标目录中的临时文件,这可能是您所需要的后。

于 2013-07-05T01:41:50.753 回答
1

我不能代表作者说话,但我想这与几件事有关。

  1. 有一个单一的输出使得像 cljsbuild auto 这样的东西更易于管理。

  2. 好吧,我可以看到多个输入路径的一些有限用例,多个输出文件似乎与浏览器效率背道而驰?您基本上需要一个高度优化的 .js 文件以获得最佳下载速度。

如果您需要来自多个 .cljs 构建但并不真正相关的多个 .js 文件,那本质上已经是一个不同的项目了。

于 2013-07-05T01:29:49.803 回答
0

您仍然需要 :output-to,但我认为您正在寻找:output-dir选项。

于 2015-02-01T11:19:34.313 回答