2017-05-30 42 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

现在正常工作产生!

相关问题