2013-04-11 34 views

Trả lời

3

Bạn có thể sử dụng 'nhiều cấu hình xây dựng': cljsbuild chấp nhận vectơ cấu hình cho khóa :builds, mỗi phần tử xác định quy tắc để biên dịch tệp .js riêng biệt (có thể tìm thêm thông tin trong lein-cljsbuild README). Ví dụ đơn giản:

: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"}}]} 
+0

làm cách nào để nhận tệp .js riêng biệt cho mọi tệp .clj trong "dir-with-cljs-for-first-js"? – zcaudate

+0

Trong ví dụ này, hai tệp .js sẽ được biên dịch: một từ các nguồn .cljs trong "dir-with-cljs-for-first-js", thứ hai - từ các nguồn trong "dir-with-cljs-for-second-js" . Không có cách nào để tạo tệp .js cho mỗi tệp trong thư mục ("dir-with-cljs-for-first-js"), nhưng bạn có thể đặt mọi tệp .clj trong một thư mục con riêng biệt (ví dụ: "dir -with-cljs-cho-đầu tiên-js/1 "," dir-với-cljs-cho-đầu tiên-js/2 ", vv) và tự xác định một cấu hình xây dựng cho mỗi thư mục con đó. – gsnewmark

0

Bạn đang tìm tùy chọn: output-dir. cljsbuild của tôi trông như thế này:

: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}}]} 

Với cấu hình này, và mà không site.js đã biên soạn/cập nhật, lein cljsbuild once dev hoặc lein cljsbuild auto dev sẽ biên dịch site.js, sau đó xem nó phụ thuộc không được biên dịch và đi biên dịch chúng, cùng với số sourcemaps của chúng. Nếu site.js được biên dịch và cập nhật, cljsbuild sẽ nghĩ rằng không có gì phải làm và chấm dứt trước khi tạo bản đồ nguồn, v.v.

Tôi cũng khuyên bạn nên phát triển cljs và nhớ bật sourcemaps.

Các vấn đề liên quan