Javascript 为什么LegacyJsonLoader.js不';不行?三.module.js:8390未捕获类型错误:this.set不是函数
我想使用LegracyJSONLoader.js,但它会引发异常“three.module.js:8390 Uncaught TypeError:this.set不是函数” 我尝试使用三个.ObjectLoader(),但加载程序抛出错误: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
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"
};