观察不同的源代码在交叉的Scala JS服务器/客户端项目中,我想要更改某些源以重新启动服务器和其他源以触发打包过程,但不重新启动。不同的任务将无济于事,因为他们只会做一个或另一个,我同时需要两个任务。SBT - 根据任务
详细信息: 我有一个Scala.js crossProject。我使用以下,以确保服务器可以服务内置JavScript:
val app = crossProject.settings(...)
lazy val appJS = app.js
lazy val jsFile = fastOptJS in(appJS, Compile)
lazy val appJVM = app.jvm.settings(
(resources in Compile) += jsFile.value.data,
(resources in Compile) += jsFile.value.data.toPath.resolveSibling(jsFile.value.data.name+".map").toFile,
(resources in Compile) += (packageJSDependencies in(appJS, Compile)).value
)
如果我运行~ appJVM/compile:packageBin::packageConfiguration
然后改到JavaScript源立即编译并放置在appJVM目标/类目录,所以刷新浏览器获取我的新代码 - 非常出色。
但是,如果我编辑服务器端代码,我还想使用sbt-revolver插件重新启动服务器。但有蹭 - 如果我使用~ ;appJVM/compile:packageBin::packageConfiguration;appJVM/reStart
然后更改到客户端源重新启动服务器,我不想。但是,如果我从传递监视中删除客户端项目,那么它不会再通知我是否更改了客户端项目。
有没有一种方法来定义每个任务不同的watchTransitiveSources?
更一般地说 - 我完全不想使用'''''',而是创建一个任务,任意一组文件,并在每次更改时运行一些其他任务,但是我的谷歌搜索会让我失望 - 我无法找到某个人做这件事的例子。 –
我认为你的问题可以写得更简单。另外,不要暗示答案,但描述你的需要。如果我理解正确,则需要更改某些源以重新启动服务器和其他源以触发打包过程,但无需重新启动。不同的任务不会有帮助,因为他们只会做一个或另一个,并且你想在同一时间。那是对的吗? – Atais
是的,这是正确的。我会将我的开篇段落改为你的措词。 –