6
在this post我想我會了解sbt任務並創建自己的任務。我已經到了一個階段,我已經創建了一個在編譯之前運行的任務,並編譯了我的文章。編譯前的SBT任務沒有在觸發編譯中得到執行
val sassCompile = TaskKey[ Unit ]("sassCompile")
sassCompile := {
SassCompiler.compile(baseDirectory.value)
}
watchSources <++= baseDirectory map { path => ((path/"app"/"assets") ** "*.scss").get }
compile <<= (compile in Compile) dependsOn sassCompile
我做兩件事情:
- 確保每一個變化SCSS觸發編譯
- 編譯之前,上海社會科學院編譯運行
那麼是什麼在起作用:
- 觸發編譯作品。每當我改變我的Scala,編譯觸發器。 (通常的行爲)。每當我在提到的路徑中更改.scss:app/assets/**,編譯觸發器。一切都很好。
- 當我在播放控制檯上手動鍵入編譯時,sass編譯也會觸發,我可以看到css文件的更改。
什麼不起作用:
編譯時自動觸發(由於調用的〜編譯或運行〜然後又做了改變(甚至沒有做更改),上海社會科學院編譯沒有得到。叫因此,當我做玩〜跑,我SASS編譯器不會被調用
編輯:。如果有幫助,here是一個類似的問題
對不起,我沒有把它作爲答案。因爲這現在創建了一個問題,即對於每個請求,我的sassCompile作業都會運行很多次。我無法找到次數的模式,但是爲了給出一個想法,在我請求網頁後,我的任務至少運行了20次。 – 0fnt 2014-11-16 16:54:00
@ user247077你可以寫更多關於這個新問題。你如何運行你的應用程序,在哪種模式下運行?也許這個問題類似於[tihs](https://groups.google.com/forum/#!msg/play-framework/a9xfBiyAI6s/N3qrbrOAAtwJ) – rtruszk 2014-11-17 09:49:17