我在build.sbt中有这样的命令
run <<= (run in Compile) dependsOn npmBuildTask
Run Code Online (Sandbox Code Playgroud)
根据文档<< =已弃用,所以我想使用:=这个。我尝试过
run in Compile := ((run in Compile).dependsOn(npmBuildTask).value)
run in Compile := (run in Compile).dependsOn(npmBuildTask).value
run in Compile := run.dependsOn(npmBuildTask).value
Run Code Online (Sandbox Code Playgroud)
但是他们全都不为我工作。请你帮助我好吗?
终于我找到了解决方案。
compile := ((compile in Compile) dependsOn npmBuildTask).value
Run Code Online (Sandbox Code Playgroud)
这对我有用。问题出在以下代码中:
run := ((run in Compile) dependsOn npmBuildTask).value
Run Code Online (Sandbox Code Playgroud)
编译和运行是不同的。编译的返回类型为sbt.TaskKey [sbt.inc.Analysis],运行的返回类型为sbt.InputKey [scala.Unit]。因此,您应该使用以下命令:
run := ((run in Compile) dependsOn npmBuildTask).evaluated
Run Code Online (Sandbox Code Playgroud)
现在一切正常。