首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Scala.js编译目标

Scala.js编译目标
EN

Stack Overflow用户
提问于 2015-03-31 14:52:59
回答 1查看 2.8K关注 0票数 15

我正在处理一个Scala.js交叉项目,其中jvm文件夹代表我的服务器应用程序,js代表我的scala.js代码。

每当我通过scala.js编译我的sbt crossJS/fastOptJS代码时,编译的JS就会以./js/target/scala-2.11/web-fastopt.js结束。

我需要在jvm文件夹中的服务器项目的资源中访问这个已编译的JS文件,这样我就可以通过我的web应用程序来服务器它。我想我必须用artifactPath做点什么,但到目前为止,我似乎无法从我的实验中得到任何结果。

EN

回答 1

Stack Overflow用户

发布于 2015-03-31 17:31:02

您可以将Scala.js SBT插件配置为在您选择的文件夹中输出JavaScript文件。例如:

代码语言:javascript
复制
// configure a specific directory for scalajs output
val scalajsOutputDir = Def.settingKey[File]("directory for javascript files output by scalajs")

// make all JS builds use the output dir defined later
lazy val js2jvmSettings = Seq(fastOptJS, fullOptJS, packageJSDependencies) map { packageJSKey =>
  crossTarget in(js, Compile, packageJSKey) := scalajsOutputDir.value
}
// instantiate the JVM project for SBT with some additional settings
lazy val jvm: Project = sharedProject.jvm.settings(js2jvmSettings: _*).settings(
  // scala.js output is directed under "web/js" dir in the jvm project
  scalajsOutputDir := (classDirectory in Compile).value / "web" / "js",

这也会将-jsdeps.js和.js.map文件存储在同一个文件夹中,以防您想在web应用程序中使用这些文件。

要获得更完整的示例,请查看本教程,它解决了创建更复杂的Scala.js应用程序的许多其他问题。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29371654

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档