일부 파일이 들어있는 resources 폴더와 Clojure 프로젝트를 고려하고 일부 웹 컨텐츠를 보유하는 "public"이라는 폴더를 고려하십시오.boot-clj : 파일 세트에서 특정 폴더 만 추출하는 작업
ClojureScript를 컴파일하는 부트 작업을 찾고 공용 파일 만 글로벌 파일 시스템의 다른 디렉토리로 옮깁니다. 마지막으로 폴더 이름을 "project-"으로 바꿔야합니다.
move-files
은 디렉토리가 아닌 파일에서만 작동하므로 다음은 작동하지 않습니다. 그러나, 나는이 아이디어를 명확히 생각 :
(def project-name "My")
(def project-version "0.1.0")
(deftask store-web-dir []
(let [dir-name (format "%s-%s" project-name project-version)]
(comp
(cljs :optimizations :advanced)
(move-files :files {"public" dir-name}) ;; should rename the dir public to ..
(copy :output-dir "/some/path/web_dirs"
:matching #{(re-pattern (str "^" dir-name "$"))}))))
이 후, 프로젝트의 모든 공용 파일의 컴파일 된 버전이 들어있는 폴더 /some/path/web_dirs/My-0.1.0
,이 있어야합니다.
boot는 자체 파일 시스템 추상화를 사용합니다. 파일을 처리 할 때는 표준 함수를 사용하지 않아야합니다. 'sift' 작업을보십시오. –
좋은 조언이 여기에 적합한 도구처럼 보입니다. –