Tajuk ditulis semula sebagai: "Mengintegrasikan Perenderan Sebelah Pelayan dengan scalajs-react" diterjemahkan ke dalam bahasa Cina sebagai "Mengintegrasikan scalajs-react dengan pemaparan sebelah pelayan"
P粉155551728
P粉155551728 2023-08-30 10:58:29
0
1
539
<p>Saya telah cuba mengikuti panduan untuk menyepadukan pemaparan sebelah pelayan dalam scalajs-react, tetapi timbunan saya mungkin berbeza sedikit, jadi ia tidak begitu intuitif.</p> <p>我正在使用<kod>SBT 1.5.5</kod>,<kod>skala 2.12.10</kod>以及以下相关:< <pre class="brush:php;toolbar:false;">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")</pre> <p>在文章的<strong>第2步</strong>中,它说要将以下内容添加到'build.sbt'文件;中:&glt; <pre class="brush:php;toolbar:false;">val scalaGraalVer = "1.0.1" malas val webappSsr = crossProject("webapp-ssr") malas val webappSsrJs = webappSsr.js .dependsOn(myScalaJsWebapp) // 将此处更改为您真正的SJS模块名称 .setting( perpustakaanDependencies ++= Seq( "com.github.japgolly.scala-graal" %%% "core-js" % scalaGraalVer, "com.github.japgolly.scala-graal" %%% "ext-boopickle" % scalaGraalVer ), scalaJSLinkerConfig ~= { _.withSourceMap(false) }, artifactPath dalam (Kompilasi, fastOptJS) := (crossTarget.value / "webapp-ssr.js"), artifactPath dalam (Kompilasi, fullOptJS) := (crossTarget.value / "webapp-ssr.js") ) malas val webappSsrJvm = webappSsr.jvm .setting( perpustakaanDependencies ++= Seq( "com.github.japgolly.scala-graal" %% "teras" % scalaGraalVer, "com.github.japgolly.scala-graal" %% "core-js" % scalaGraalVer, "com.github.japgolly.scala-graal" %% "ext-boopickle" % scalaGraalVer ), unmanagedResources dalam Compile += Def.taskDyn { peringkat val = (scalaJSStage dalam Compile dalam webappSsrJs).value val task = stageKey(stage) Def.task((task in Compile in webappSsrJs).value.data) }.nilai) )</pra> <p>所以我目前在这里有2个问题:</p> <ol> <li><p><kod>crossProject</kod>似乎不接受<kod>String</kod>作为参数,即:</p> <p><kod>def crossProject(平台:sbtcrossproject.Platform*)</code></p> </li> & lt;无法弄清楚它的位置,因此不知道我缺少什么或是否有其他方法。</p> </li> </ol></p>
P粉155551728
P粉155551728

membalas semua(1)
P粉378890106

Suka @tdimoff dah cakap, crossProject方法不接受字符串参数,所以这行代码lazy val webappSsr = crossProject("webapp-ssr")应该替换为lazy val webappSsr = crossProject(JSPlatform, JVMPlatform) untuk perpustakaan sbtcrossproject.

Mengenai fungsi stageKey, ia nampaknya merupakan sebahagian daripada perpustakaan scalajs-bundler, jadi anda perlu menambah kebergantungan perpustakaan berikut:

libraryDependencies += "ch.epfl.scala" % "scalajs-bundler" % "0.20.0"

Ini sepatutnya membolehkan anda menggunakan fungsi stageKey.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan