In this post Ho pensato di conoscere le attività di sbt e di crearne di nuove. Ho raggiunto uno stadio in cui ho creato un'attività che viene eseguita prima della compilazione e che compila la mia sass.L'attività SBT che precede la compilazione non viene eseguita nella compilazione attivata
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
io fare due cose:
- garantire che qualsiasi modifica al SCSS innesca la compilazione
- prima della compilazione, sass compilatore gestisce
Così che cosa funziona:
- La compilazione attivata funziona. Ogni volta che cambio scala, i trigger di compilazione. (Comportamento usuale). Ogni volta che cambio .scss all'interno del percorso indicato: app/assets/**, trigger di compilazione. Tutto bene.
- Quando digito manualmente la compilazione sulla console di gioco, la compilazione di sass si attiva anche e posso vedere la modifica del file css.
cosa non funziona:
Quando la compilazione viene attivato automaticamente (in virtù di chiamare ~ ~ compilare o correre e poi fare un cambiamento (o anche non fare un cambiamento), la compilazione sass non ottiene . Così chiamato quando lo faccio giocare ~ corsa, il mio compilatore sass non ottiene invocato
EDIT:.. Se aiuta, here è una domanda simile
Spiacente, ho cancellato questa come risposta. Perché questo ora crea il problema che per ogni richiesta, il mio lavoro sassCompile viene eseguito un numero elevato di volte. Non riesco a trovare lo schema per il numero di volte, ma per dare un'idea ho eseguito il compito almeno 20 volte dopo aver richiesto una pagina web. – 0fnt
@ user247077 Potresti scrivere di più su questo nuovo problema. Come gestisci la tua applicazione, in quale modalità? Forse questo problema è simile a [tihs] (https://groups.google.com/forum/#!msg/play-framework/a9xfBiyAI6s/N3qrbrOAAtwJ) – rtruszk