使用cljsbuild,我可以将我所有的.cljs文件编译成一个文件。但是,我希望能够选择输出目录,并将每个.cljs文件编译成自己的.js文件。如何指定这一点?
发布于 2013-04-11 23:30:16
你可以使用“多个构建配置”:cljsbuild接受:builds密钥的配置向量,每个元素定义了编译单独的.js文件的规则(更多信息可以在lein-cljsbuild README中找到)。简单的例子:
:cljsbuild
{:builds
[;; Config for first .js file
{:source-paths ["dir-with-cljs-for-first-js"]
:compiler {:output-to "dir-for-js/first.js"}
;; Config for second .js file
{:source-paths ["dir-with-cljs-for-second-js"]
:compiler {:output-to "dir-for-js/second.js"}}]} 发布于 2015-02-01 19:10:29
您正在寻找:output-dir选项。我的cljsbuild看起来像这样:
:cljsbuild
{:builds
[{:id "dev"
:source-paths ["src/cljs"]
:compiler {:output-to "resources/public/js/site.js"
:output-dir "resources/public/js/out"
:source-map true :optimizations :none }}
{:id "main"
:source-paths ["src/cljs"]
:compiler {:pretty-print false
:output-to "resources/public/js/site.js"
:source-map "resources/public/js/site.js.map"
:optimizations :advanced}}]}有了这个配置,没有site.js的已经编译/更新了,lein cljsbuild once dev或lein cljsbuild auto dev将编译site.js,然后看到它的依赖项没有编译,就去编译它们,以及它们的sourcemaps。如果site.js是编译的并且是最新的,cljsbuild会认为没有什么可做的,并在生成源映射之前终止,等等。
对于cljs开发,我也强烈推荐使用lein figwheel,并且记住要启用源地图。
https://stackoverflow.com/questions/15939816
复制相似问题