我正在尝试创建一个简单的应用程序,在node.js上呈现一个带有three.js的多维数据集,为此我尝试了node-three.js,它基本上包含了三个.js,创建了一个模拟的浏览器窗口,以及暴露三个变量,以便您可以使用它
问题是我一直得到“TypeError:无法读取未定义的属性'x',所以我把它缩小到这段代码:
var THREE = require('three.js');
firstVec = new THREE.Vector3(2,2,2);
secondVec = new THREE.Vector3(1,1,1);
clonedVec = firstVec.clone();
clonedVec.sub(secondVec); //this line is where the error occurs
错误信息是:
undefined:818
this.x = a.x - b.x;
^
TypeError: Cannot read property 'x' of undefined
(据我的理解)表明第三个模块无法识别第二个向量。
试过这种方法的人:你能使它运作吗?
*为了使其在Linux下运行,您应该编辑/lib/three.js文件:
第10行应编辑:
, src = fs.readFileSync(__dirname + '/../deps/three.js/build/three.js') //three.js instead of Three.js
答案 0 :(得分:4)
使用three.js的原始实现解决。首先你:
npm install three
然后更换:
var THREE = require('three.js');
用:
var THREE = require('three');