Clojure 同时运行多个lein任务

Clojure 同时运行多个lein任务,clojure,leiningen,Clojure,Leiningen,我目前是莱宁根项目的新手。我想动态地使用lein-less和minify-assets将less编译成css,所以我发现我应该对less文件使用lein-less-auto,对javascripts和HTML文件使用lein-minify-assets-watch 我正在使用lein cascade来操作它们,但它仍然在lein less auto任务中,而不是去lein minify assets watch 这是我的项目代码 (defproject indecorlein "0.1.0-SN

我目前是莱宁根项目的新手。我想动态地使用
lein-less
minify-assets
将less编译成css,所以我发现我应该对less文件使用
lein-less-auto
,对javascripts和HTML文件使用
lein-minify-assets-watch

我正在使用
lein cascade
来操作它们,但它仍然在
lein less auto
任务中,而不是去
lein minify assets watch

这是我的项目代码

(defproject indecorlein "0.1.0-SNAPSHOT"
  :description "FIXME: write description"
  :url "http://example.com/FIXME"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}
  :dependencies [[org.clojure/clojure "1.8.0"]]
  :plugins [[lein-asset-minifier "0.4.3"]
            [lein-less "1.7.5"]
            [lein-cascade "0.1.2"]]

  :min-lein-version "2.5.0"

  :cascade {
            "lessc" [["less" "auto"]]
            "min" [["minify-assets" "watch"]]
            "amp" ["lessc" "min"]
            }

  :less {:source-paths ["dev/resources/less"]
         :target-path "dev/resources/css"}

  :minify-assets [
                  [:html {:source "dev/resources/html" :target "dev/minified/html"}]
                  [:css {:source "dev/resources/css" :target "dev/minified/css/styles.min.css"}]
                  [:js {:source ["dev/res/js"] :target "dev/minified/js/amp.min.js"}]])

也许有一个解决方案,或者我只需在单独的终端选项卡上运行任务。

问题是
lein-less-auto
lein-minify-assets-watch
都不会返回。我过去曾在控制台中单独使用过
leinlessauto

您可以使用
leinpdo
插件。将其添加到插件中并定义别名:

  :plugins [...
            [lein-pdo "0.1.1"]]

  :aliases {"watch" ["pdo" ["less" "auto"]
                           ["minify-assets" "watch"]]}

然后您可以运行
lein watch
,它将同时运行这两个任务。

min和
lessc
的双向量似乎有点奇怪。这就是cascade希望指定依赖项的方式吗?也可以尝试使用除
min
以外的单词,这是一个尚未成为函数的单词。我将其更改为另一个类似
minfy
名称的单词。。它仍然只运行
lein-less-auto
。所以,没有解决方案?除了使用不同的终端,这是最简单的。在Unix机器上,您可以将它们放在后台,最后加上
&
。还有很多其他操作系统选项可用于创建守护进程。我不知道有哪一个构造带有
lein
,可以为您将它们置于背景中。也许这是一个不值得解决的问题。