我正在尝试将 THREE.js 与 kotlin/JS 一起使用。到目前为止它工作得很好,但是,我在如何导入 gLTFLoader 方面遇到了困难。文档说我应该这样做:
import { GLTFLoader } from 'three/examples/jsm/loaders/GLTFLoader';
在科特林
@file:JsModule("three")
@file:JsNonModule
在文件的开头工作。
这个
@file:JsModule("three/examples/jsm/loaders/GLTFLoader")
@file:JsNonModule
package mypackage
import org.w3c.xhr.XMLHttpRequest
external class GLTFLoader() {
fun load(url: String, onLoad: (GLTF) -> Unit, onProgress: (XMLHttpRequest) -> Unit = definedExternally, onError: (dynamic) -> Unit = definedExternally)
}
external class GLTF {
val scene: Group
}
不起作用。和
@file:JsModule("@three/examples/jsm/loaders/GLTFLoader")
也不起作用。在这两种情况下,我得到
找不到模块:错误:无法解析“/my_project_dir/build/js/packages/z-index/kotlin”中的“@three/examples/jsm/loaders/GLTFLoader”
所需的文件在 /my_project_dir/build/js/node_modules/three/examples/jsm/loaders/GLTFLoader.js Three.js 的主文件,显然可以找到,在 /my_project_dir/build/js/node_modules/三/src/Three.js。
如何进行所需的导入?