首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将多个cljs文件编译成独立的js文件

将多个cljs文件编译成独立的js文件
EN

Stack Overflow用户
提问于 2015-04-04 18:22:03
回答 2查看 1.1K关注 0票数 2

编辑:如果有人试图为一个项目构建独立的cljs/js文件:它完全按照下面描述的方式工作。你只需要确保cljs目录只包含所需的文件-无意中在一个目录中留下了另一个(未使用的)cljs文件的副本是我的错;虽然没有引用,但它会被编译成需要的文件。

我使用带有多个构建的cljsbuild在同一页面上生成两个不同的cljs/js文件。这些文件之间没有依赖关系,它们使用不同的名称空间。在高级模式下编译将构建两个js文件,其中一个js文件包含整个另一个文件,因此其中一个文件变得不必要。

有没有一种方法可以生成两个完全独立的js文件,而不需要设置两个不同的项目?

我的project.clj的一部分:

代码语言:javascript
复制
: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 {}}
       }
EN

回答 2

Stack Overflow用户

发布于 2015-05-13 01:12:35

找到了一些可能对https://github.com/thheller/shadow-build有帮助的东西

票数 0
EN

Stack Overflow用户

发布于 2015-12-12 13:39:29

目前,在编译每个构建时都使用源路径的组合列表,这可能会导致在生成的js文件中出现令人惊讶的包含/泄漏。一种解决方法是为每个构建分别运行cljsbuild:

代码语言:javascript
复制
lein cljsbuild once app1
lein cljsbuild once app2
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29445260

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档