在this post中,我想我将学习sbt任务并自行创建。我已经达到了一个阶段,我已经创建了一个在编译之前运行并编译我的sass的任务。
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
我做了两件事:
那么有效:
什么不起作用:
当自动触发编译时(通过调用~compat或〜运行然后进行更改(甚至不进行更改),sass编译不会被调用。所以当我玩〜运行时,我的sass编译器没有被调用。
编辑:如果有帮助,here是一个类似的问题。
答案 0 :(得分:3)
您需要将最后一行更改为:
compile in Compile <<= (compile in Compile) dependsOn sassCompile
对此的解释,您可以在“何时指定范围”部分中找到here。