【问题标题】:Three.js STL loader with TypeScript - Uncaught TypeError: Cannot read property 'XHRLoader' of undefinedThree.js STL 加载器与 TypeScript - 未捕获的 TypeError:无法读取未定义的属性“XHRLoader”
【发布时间】:2017-05-21 09:43:03
【问题描述】:

我正在尝试将 STL 文件导入 Three.js,但 three-stl-loader npm-module 找不到 THREE 对象。

这段代码:

import * as THREE from 'three'
import * as THREESTLLoader from 'three-stl-loader'

var STLLoader = new THREESTLLoader()
var loader = new STLLoader(THREE)
loader.load('path/to/file.stl', function (geometry: any) {})

产生此错误:

在 index.js 的第 45 行(在 stl-loader 中),three-stl-loader 模块使用了 THREE 对象,但似乎该模块根本不知道 THREE 对象:

该项目是使用 Webpack 中的 TypeScript 编译的。我认为它的编译方式可能有问题。

【问题讨论】:

    标签: typescript three.js


    【解决方案1】:

    好像我找到了缺失的部分。 由于模块而不是构造函数必须接收THREE 对象,因此我只需将THREE 添加到模块中即可:

    import * as THREE from 'three'
    import * as THREESTLLoader from 'three-stl-loader'
    
    var STLLoader = new THREESTLLoader(THREE) // Added THREE
    var loader = new STLLoader() // Removed THREE
    loader.load('path/to/file.stl', function (geometry: any) {})
    

    【讨论】:

      猜你喜欢
      • 2017-09-14
      • 2015-05-08
      • 2023-01-14
      • 1970-01-01
      • 2018-03-13
      • 1970-01-01
      • 1970-01-01
      • 2022-12-21
      • 2015-11-09
      相关资源
      最近更新 更多