Ste*_*uer 1 scala sbt scala.js
我有一个Build.scala用于多个项目.
其中两个项目使用ScalaJs交叉编译.
其他项目之一是纯Scala项目,它希望访问一些ScalaJs生成的Javascript文件.
(最好只从ScalaJs项目中访问那些.js文件,但我正在尝试在现有项目层次结构之上添加用ScalaJs实现的功能,其中REST API已经在其中一个现有项目中实现,没有彻底改变后者.)
理想情况下,我想在"app"项目中添加一个新任务
我知道如何通过调用另一个任务来扩展任务,但是当调用的任务不在同一个项目中时,我不知道该怎么做.
这可能吗?
或者还有另一种方法吗?
我考虑在ScalaJs项目中扩展fastOptJS/fullOptJS,将.js文件"推送"到他们想要在app项目中的位置,但这感觉倒退了.(也许这是最简单的方法吗?)
谢谢你的帮助, - 史蒂夫
最简单的方法是fastOpt在"app"的设置中添加资源:
resources in Compile += (fastOptJS in Compile in scalaJSProject).value.data
Run Code Online (Sandbox Code Playgroud)
如果您需要将文件放在特殊位置,则可以将资源生成器添加到复制fastOpt文件的"app"项目中:
resourceGenerators in Compile += Def.task {
val trg = (resourceManaged in Compile).value / "jsStuff.js"
IO.copyFile((fastOptJS in Compile in scalaJSProject).value.data, trg)
Seq(trg)
}.taskValue
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
616 次 |
| 最近记录: |