編集: 誰かが 1 つのプロジェクトに対して独立した cljs/js ファイルを構築しようとした場合: 以下で説明する方法とまったく同じように機能します。cljs-directories に必要なファイルだけが含まれていることを確認する必要があります.1つのディレクトリに別の(使用されていない) cljs-file のコピーを意図せず残してしまったのは私のせいです。参照されていませんが、これは必要なファイルにコンパイルされます。
複数のビルドで cljsbuild を使用して、同じページに 2 つの異なる cljs/js ファイルを生成します。これらのファイル間に依存関係はなく、異なる名前空間を使用します。高度なモードでコンパイルすると、2 つの js ファイルがビルドされます。一方の js ファイルにはもう一方のファイル全体が含まれているため、1 つのファイルが不要になります。
2 つの異なるプロジェクトをセットアップせずに、2 つの完全に独立した js ファイルを生成する方法はありますか?
私のproject.cljの一部:
:cljsbuild {:builds {:app1 {:source-paths ["src/cljs-app1"]
:compiler {:output-to "resources/public/js/app1.js"
:output-dir "resources/public/js/out-app1"
:asset-path "/js/out-app1"
:optimizations :none
:pretty-print true}}
:app2 {:source-paths ["src/cljs-app2"]
:compiler {:output-to "resources/public/js/app2.js"
:output-dir "resources/public/js/out-app2"
:asset-path "/js/out-app2"
:optimizations :none
:pretty-print true}}}}
:profiles {:dev {:cljsbuild {:builds {:app1 {:compiler {:source-map true}}
:app2 {:compiler {:source-map true}}}}}
:uberjar {:hooks [leiningen.cljsbuild minify-assets.plugin/hooks]
:env {:production true}
:aot :all
:omit-source true
:cljsbuild {:jar true
:builds {:app1 {:compiler
{:optimizations :advanced
:pretty-print false}}
:app2 {:compiler
{:optimizations :advanced
:pretty-print false}}}}}
:production {:cljsbuild {}}
}