如何在kotlin/JS中导入JS文件

如何在kotlin/JS中导入JS文件,kotlin,three.js,kotlin-js,kotlin-js-interop,Kotlin,Three.js,Kotlin Js,Kotlin Js Interop,我正在尝试将THREE.js与kotlin/js一起使用。到目前为止,它工作得很好,但是,我在如何导入gLTFLoader方面遇到了困难。文件上说我应该做: import { GLTFLoader } from 'three/examples/jsm/loaders/GLTFLoader'; 在科特林 @file:JsModule("three") @file:JsNonModule 在一个文件的开头工作 这个 不起作用。及 @file:JsModule("@three/examples/j

我正在尝试将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")
也不行。在这两种情况下,我都会

未找到模块:错误:无法解析 中的“@three/examples/jsm/loaders/GLTFLoader” “/my_project_dir/build/js/packages/z-index/kotlin”

所需文件位于/my_project_dir/build/js/node_modules/three/examples/jsm/loaders/GLTFLoader.js中 Three.js的主文件(显然可以找到)位于/my_project_dir/build/js/node_modules/Three/src/Three.js中


如何进行所需的导入?

您应该对这些语句使用require 在three.kt中,定义您的定义

@文件:JsModule(“三”)
@文件:JsNonModule
包我的包
导入org.w3c.xhr.XMLHttpRequest
外部接口ThreeGLTFLoader(){
有趣的加载(url:String,onLoad:(GLTF)->Unit,onProgress:(XMLHttpRequest)->Unit=definedExternally,onError:(dynamic)->Unit=definedExternally)
}
外部接口GLTF{
val场景:组
}
然后在3.dsl.kt中定义

val-GLTFLoader:ThreeGLTFLoader=require(“three/examples/jsm/loaders/GLTFLoader”)
现在您可以使用GTFLLoader

@file:JsModule("@three/examples/jsm/loaders/GLTFLoader")