2016-05-18 3 views
1

Ich bin in einige Schwierigkeiten gelaufen und habe mich gefragt, ob mir jemand helfen kann. Ich habe die folgende Build.scala und ich versuche, auf das kompilierte Javascript vom JVM-Projekt zuzugreifen.Wie man Javascript in das JVM Kreuzprojekt lädt

lazy val webProject = CrossProject(base = file("./main/web"), crossType = CrossType.Full, jvmId = "api-gateway", jsId = "web-js") 
    .settings(
     name := "web", 
     unmanagedSourceDirectories in Compile += baseDirectory.value/"shared"/"main"/"scala", 
     libraryDependencies ++= Dependencies.Client.sharedDeps.value) 
    .jvmSettings(
     persistLauncher := true, 
     persistLauncher in Test := false, 
     libraryDependencies ++= Dependencies.Client.jvmDeps.value) 
    .jsSettings(libraryDependencies ++= Dependencies.Client.jsDeps.value) 

    lazy val webJS = webProject.js.enablePlugins(ScalaJSPlugin) 

    lazy val webJVM = webProject.jvm 
    .settings((resources in Compile) += (fastOptJS in(webJS, Compile)).value.data) 
    .dependsOn(dominos) 

Das kompilieren Javascript

[info] Fast optimizing /.../main/web/js/target/scala-2.11/web-fastopt.js 

erzeugt wird, wenn ich versuche, indem Sie get-Server das kompilieren Javascript zuzugreifen, es nicht gefunden werden kann.

object Main extends App { 

    implicit val system = ActorSystem("my-system") 
    implicit val materializer = ActorMaterializer() 
    implicit val executionContext = system.dispatcher 

    val routes = pathEndOrSingleSlash(getFromResource("web-fastopt.js")) 

    Http().bindAndHandle(routes, "localhost", 8080) 
} 

Ist nicht diese Zeile angenommen, um das Javascript der Ressourcenordner der JVM hinzuzufügen, wenn es ausgeführt wird?

(resources in Compile) += (fastOptJS in(webJS, Compile)).value.data 

Jede Hilfe würde sehr geschätzt werden.

Antwort

0

Scheint, wie diese wie nicht für mich I ended mit funktioniert

(resources in Compile) += (fastOptJS in(webJS, Compile)).value.data 

Statt aus irgendeinem Grund die fastOptJS

lazy val webJVM = webProject.jvm 
    .settings(Seq(fastOptJS, fullOptJS, packageJSDependencies) 
     .map(pkg ⇒ crossTarget in(webJS, Compile, pkg) := scalaJSOutput.value)) 

ich auch gebraucht hinzufügen

getFromResourceDirectory("") 
Datei verschieben

zu den Akka Http Routen.

Verwandte Themen