编辑:如果有人试图为一个项目构建独立的cljs/js文件:它完全按照下面描述的方式工作。你只需要确保cljs目录只包含所需的文件-无意中在一个目录中留下了另一个(未使用的)cljs文件的副本是我的错;虽然没有引用,但它会被编译成需要的文件。
我使用带有多个构建的cljsbuild在同一页面上生成两个不同的cljs/js文件。这些文件之间没有依赖关系,它们使用不同的名称空间。在高级模式下编译将构建两个js文件,其中一个js文件包含整个另一个文件,因此其中一个文件变得不必要。
有没有一种方法可以生成两个完全独立的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 {}}
}发布于 2015-05-13 01:12:35
找到了一些可能对https://github.com/thheller/shadow-build有帮助的东西
发布于 2015-12-12 13:39:29
目前,在编译每个构建时都使用源路径的组合列表,这可能会导致在生成的js文件中出现令人惊讶的包含/泄漏。一种解决方法是为每个构建分别运行cljsbuild:
lein cljsbuild once app1
lein cljsbuild once app2https://stackoverflow.com/questions/29445260
复制相似问题