scalajs-react服务端渲染集成遇阻:SBT配置问题求助
问题:Scalajs-react服务端渲染集成中的SBT配置问题
我尝试按照scalajs-react集成服务端渲染的指南实现功能,但因技术栈差异遇到阻碍。我的环境信息如下:
- SBT版本:
1.5.5 - Scala版本:
2.12.10
使用的SBT插件列表:
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.7.4") addSbtPlugin("org.scala-js" % "sbt-scalajs" % "1.7.0") addSbtPlugin("org.scala-js" % "sbt-jsdependencies" % "1.0.2") addSbtPlugin("ch.epfl.scala" % "sbt-scalajs-bundler" % "0.20.0") addSbtPlugin("com.eed3si9n" % "sbt-buildinfo" % "0.10.0") addSbtPlugin("org.scala-native" % "sbt-scala-native" % "0.3.7") addSbtPlugin("org.portable-scala" % "sbt-scalajs-crossproject" % "1.2.0") addSbtPlugin("org.portable-scala" % "sbt-scala-native-crossproject" % "1.2.0")
在指南的步骤2中,要求在build.sbt中添加以下配置:
val scalaGraalVer = "1.0.1" lazy val webappSsr = crossProject("webapp-ssr") lazy val webappSsrJs = webappSsr.js .dependsOn(myScalaJsWebapp) // change this to your real SJS module name(s) .settings( libraryDependencies ++= Seq( "com.github.japgolly.scala-graal" %%% "core-js" % scalaGraalVer, "com.github.japgolly.scala-graal" %%% "ext-boopickle" % scalaGraalVer ), scalaJSLinkerConfig ~= { _.withSourceMap(false) }, artifactPath in (Compile, fastOptJS) := (crossTarget.value / "webapp-ssr.js"), artifactPath in (Compile, fullOptJS) := (crossTarget.value / "webapp-ssr.js") ) lazy val webappSsrJvm = webappSsr.jvm .settings( libraryDependencies ++= Seq( "com.github.japgolly.scala-graal" %% "core" % scalaGraalVer, "com.github.japgolly.scala-graal" %% "core-js" % scalaGraalVer, "com.github.japgolly.scala-graal" %% "ext-boopickle" % scalaGraalVer ), unmanagedResources in Compile += Def.taskDyn { val stage = (scalaJSStage in Compile in webappSsrJs).value val task = stageKey(stage) Def.task((task in Compile in webappSsrJs).value.data) }.value) )
目前遇到两个问题:
crossProject不接受String类型参数,它的定义为def crossProject(platforms : sbtcrossproject.Platform*)- 代码中的
stageKey函数未被识别,无法确定其来源及解决办法
内容的提问来源于stack exchange,提问作者jesus g_force Harris
相关产品推荐
相关产品推荐

