由于https://github.com/antonkulaga/threejs-facade已经严重过时,我尝试了如下方法:https://github.com/Katrix-/threejs-facade并想为新three.js
库创建一个外观。
我绝不是JS
专家,我也不是Scala.js
专家,所以我很可能在做一些非常愚蠢的事情。
在另一个问题之后,我正在使用这个sbt-scalajs-bundler
和sbt-web-scalajs-bundler
我的build.sbt
样子是这样的:
lazy val client = (project in file("modules/client"))
.enablePlugins(ScalaJSBundlerPlugin, ScalaJSWeb) // ScalaJSBundlerPlugin automatically enables ScalaJSPlugin
.settings(generalSettings: _*)
.settings(
name := "client"
//, scalaJSModuleKind := ModuleKind.CommonJSModule // ScalaJSBundlerPlugin implicitly sets moduleKind to CommonJSModule enables ScalaJSPlugin
,jsDependencies += ProvidedJS / "three.min.js"
)
lazy val server = (project in file("modules/server"))
.enablePlugins(PlayScala, WebScalaJSBundlerPlugin)
.settings(generalSettings: _*)
.settings(
name := "server"
,scalaJSProjects := Seq(client)
,pipelineStages in Assets := Seq(scalaJSPipeline)
//,pipelineStages := Seq(digest, gzip)
,compile in Compile := ((compile in Compile) dependsOn scalaJSPipeline).value
)
three.min.js
在我client
项目的资源文件夹中。
立面的一部分是例如
@js.native
@JSImport("THREE", "Scene")
class Scene extends Object3D {
我想像这样使用它:val scene = new Scene
. 另一方面scala.js
,这实际上编译得很好,但是当我运行它时,我得到:
错误:找不到模块“三”
在浏览器中,我想知道为什么。three.min.js
毕竟是这样称呼的。
现在我也尝试three.min.js
从服务器端提供和提供文件,因为我认为它可能只是在运行时丢失了,但不,这似乎不是原因。
所以现在我想知道我在这里做错了什么?
只是为了澄清js
:如果我不导出任何 Facade 的使用,其余的转译作品就好了!