Javascript 为什么LegacyJsonLoader.js不';不行?三.module.js:8390未捕获类型错误:this.set不是函数

Javascript 为什么LegacyJsonLoader.js不';不行?三.module.js:8390未捕获类型错误:this.set不是函数,javascript,three.js,Javascript,Three.js,我想使用LegracyJSONLoader.js,但它会引发异常“three.module.js:8390 Uncaught TypeError:this.set不是函数” 我尝试使用三个.ObjectLoader(),但加载程序抛出错误: THREE.ObjectLoader: You have to import LegacyJSONLoader in order load geometry data of type "Geometry".then I import LegacyJSONLo

我想使用LegracyJSONLoader.js,但它会引发异常“three.module.js:8390 Uncaught TypeError:this.set不是函数”

我尝试使用三个.ObjectLoader(),但加载程序抛出错误:

THREE.ObjectLoader: You have to import LegacyJSONLoader in order load geometry data of type "Geometry".then I import LegacyJSONLoader but it doesn't work
我补充说

export default { LegacyJSONLoader };
在“/example/jsm/loaders/deprecated/legacyjsonload.js”的末尾, 并补充说

import LegacyJSONLoader from '../examples/jsm/loaders/deprecated/LegacyJSONLoader.js;
export {LegacyJSONLoader,...};
在“/build/three.module.js”的末尾

发生错误: 三.module.js:8390未捕获类型错误:this.set不是函数

但是在三个模块中。module.js:8390

function Color( r, g, b ) {
    if ( g === undefined && b === undefined ) {
        // r is THREE.Color, hex or string
        return this.set( r );
    }
    return this.setRGB( r, g, b );
}
Object.assign( Color.prototype, {
    isColor: true,
    r: 1, g: 1, b: 1,
    set: function ( value ) {
        if ( value && value.isColor ) {
            this.copy( value );
        } else if ( typeof value === 'number' ) {
            this.setHex( value );
        } else if ( typeof value === 'string' ) {
            this.setStyle( value );
        }
        return this;
    },
        ...
}
LegacyJSONLoader.js中的第126行

var _color = new Color();
为什么会导致错误:“this.set不是函数”

我也用过这里的网页是configs

let webpack = require("webpack");
let path = require("path");
module.exports = {
    entry: "./src/index.js",
    output: {
        path: path.resolve(__dirname, "dist"),
        filename: "[name].bundle.js",
        // chunkFilename: "[name].chunk.js"
    },
    performance: {
        hints: false
    },
    mode: "development"
};
(几天前我刚开始学习three.js和javascript,我不太擅长webpack…)

我希望成功地使用THREE.ObjectLoader(),并了解LegacyJSONLoader()为什么不起作用


顺便说一句,这是我第一次问有关stackoverflow的问题,我真的希望得到答案。谢谢

您可以将代码作为git存储库共享吗?或者作为一个活生生的例子?我最近与
LegacyJSONLoader
合作解决了另一个问题,没有任何问题。我只是在github找到了一个好项目,但它不再更新和支持新的three.js版本。我想修复它。我想修改这个项目,以便更好地理解三个。js@Mugen87我试图在最新版本r117中使用LegacyJSONLoader,但出现错误“parseMaterials不是函数”。您是否有适用于此版本的示例?不,抱歉<代码>LegacyJSONLoader已完全删除。此加载程序可以使用的最大版本是
r110
let webpack = require("webpack");
let path = require("path");
module.exports = {
    entry: "./src/index.js",
    output: {
        path: path.resolve(__dirname, "dist"),
        filename: "[name].bundle.js",
        // chunkFilename: "[name].chunk.js"
    },
    performance: {
        hints: false
    },
    mode: "development"
};