2017-05-30 65 views
2

我工作的一個經典ScalaJS與Scalatags ...使用交叉編譯的方法應用啓動腳本:ScalaJS fastOptJS與SBT-本機打包

<root folder> 
- client 
- project 
- server 
- shared 
- build.sbt 

它工作正常運行sbt re-startsbt run-main WebServer 現在,與sbt-native-pagkager插件我想打包所有的東西,併爲我的項目生成一個啓動腳本。

啓動腳本生成工作,但ScalaJS fastOptJs似乎不包括在內。

有一些應該幫助here,但絕對不會在我的情況。

順便說一句,我build.sbt文件看起來像:

val scalaV = "2.12.2" 

lazy val server = (project in file("server")) 
    .settings(
    scalaVersion := scalaV, 
    scalaJSProjects := Seq(client), 
    pipelineStages in Assets := Seq(scalaJSPipeline), 
    // triggers scalaJSPipeline when using compile or continuous compilation 
    compile in Compile := ((compile in Compile) dependsOn scalaJSPipeline).value, 
    libraryDependencies ++= Seq(
     ... 
    ), 

    WebKeys.packagePrefix in Assets := "public/", 
    (managedClasspath in Runtime) += (packageBin in Assets).value, 
    // Packaging 
    topLevelDirectory := None // Don't add a root folder to the archive 
) 
    .enablePlugins(SbtWeb, JavaAppPackaging) 
    .dependsOn(sharedJvm) 

lazy val client = (project in file("client")) 
    .settings(
    scalaVersion := scalaV, 
    scalaJSUseMainModuleInitializer := true, 
    unmanagedSourceDirectories in Compile := Seq((scalaSource in Compile).value), 
    libraryDependencies ++= Seq(
    ... 
    ), 
    jsDependencies ++= Seq(
    ... 
) 
) 
.enablePlugins(ScalaJSPlugin, ScalaJSWeb) 
.dependsOn(sharedJs) 

lazy val shared = (crossProject.crossType(CrossType.Pure) in file("shared")) 
    .enablePlugins(BuildInfoPlugin) 
    .settings(
    scalaVersion := scalaV, 
    libraryDependencies ++= Seq(
     ... 
    ), 
    // build info 
    buildInfoOptions += BuildInfoOption.BuildTime, 
    buildInfoKeys := Seq[BuildInfoKey](
    ), 
    buildInfoPackage := "com.example.build" 
) 
    .jsSettings(
    libraryDependencies ++= Seq(
     ... 
    ) 
) 
.jsConfigure(_ enablePlugins ScalaJSWeb) 

.... 

任何幫助嗎?非常感謝!

回答

0

我的錯!

我沒有我的HTML模板中引用正確的JavaScript文件( 客戶jsdeps.min.js和客戶opt.js)使用stage

現在正常工作產生!

相關問題