2017-06-28 78 views
0

我有一个project.clj文件,有sever cljsbuilds和Figwheel似乎只编译第一个。任何想法为什么?Figwheel没有编译所有文件

的project.clj看起来是这样的:

(defproject tech.projectx/clients "0.1.0-SNAPSHOT" 
    :cljsbuild {:builds {:renderer  {:source-paths ["src/renderer" "src/common"] 
             :compiler  {:output-to  "app/renderer/renderer.js" 
                 :output-dir "app/renderer" 
                 :asset-path "renderer" 
                 :main   configurator.core 
                 :language-in :ecmascript5 
                 :optimizations :none}} 
         :main   {:source-paths ["src/main" "src/common"] 
             :compiler  {:output-to  "app/main/main.js" 
                 :output-dir "app/main" 
                 :asset-path "main" 
                 :main   tech.projectx.main 
                 :target  :nodejs 
                 :externs  ["node_modules/closurecompiler-externs/path.js" 
                     "node_modules/closurecompiler-externs/process.js"] 
                 :optimizations :simple}} ; without this, the packed application doesn't work. 
         :renderer-test {:source-paths ["src/renderer" "src/common" "test/renderer"] 
             :compiler  {:output-to   "test-app/renderer/renderer.js" 
                 :output-dir   "test-app/renderer" 
                 :asset-path   "renderer" 
                 :main     clientcommon.test-runner 
                 :language-in   :ecmascript5 
                 :optimizations  :none 
                 :source-map   true 
                 :source-map-timestamp true 
                 :pretty-print   true} 
             :figwheel  {:websocket-host "localhost" 
                 :on-jsload  "clientcommon.test-runner/run-all-tests"}} 
         :test-app-main {:source-paths ["test/main" "src/main" "src/common"] 
             :compiler  {:output-to   "test-app/main/main.js" 
                 :output-dir   "test-app/main" 
                 :asset-path   "main" 
                 :main     tech.projectx.test-app-main 
                 :target    :nodejs 
                 :externs    ["node_modules/closurecompiler-externs/path.js" 
                      "node_modules/closurecompiler-externs/process.js"] 
                 :optimizations  :none 
                 :source-map   true 
                 :source-map-timestamp true 
                 :pretty-print   true}}}} 

    :sass {:source-paths ["src/renderer/assets"] 
     :target-path "app/renderer/assets" 
     :source-map true} 

    :figwheel {:server-logfile "log/figwheel-logfile.log" 
      :css-dirs  ["app/renderer/assets"]} 

    :profiles {:dev {:cljsbuild {:builds {:renderer {:compiler {:source-map   true 
                   :source-map-timestamp true 
                   :pretty-print   true} 
                :figwheel {:websocket-host "localhost" 
                   :on-jsload  "configurator.core/mount-root"}} 
             :main  {:compiler {:source-map   "app/main/main.js.map" 
                   :source-map-timestamp true 
                   :pretty-print   true}}}}} 
      :prod {:cljsbuild {:builds {:renderer {:compiler {:optimizations :simple 
                   :closure-defines {goog.DEBUG false}}} 
             :main  {:compiler {:optimizations :simple 
                   :closure-defines {goog.DEBUG false}}}}}}}) 

我正在Figwheel一个脚本,看起来像这样:

(use 'figwheel-sidecar.repl-api) 
(start-figwheel!) ;; <-- fetches configuration 
(cljs-repl) 
+0

你的意思是它只编译第一个配置?我认为这是默认行为,您需要指定它应该处理的所有配置。 –

+0

是的,它只编译第一个配置。如何在脚本上指定所有配置(不是命令行)? – Pablo

回答

2

尽管你问,如何将它传递给脚本,我通常倾向于在配置中表明(在顶级:figwheel条目中):

:figwheel { :builds-to-start ["dev" "test"] } 

Also see the docs:

构建IDS的载体,你想,当你调用雷音figwheel不带参数figwheel开始建立 。