我正在尝试通过带有 socket.io 的 [Node] http 服务器提供此处找到的示例。
该示例运行得很好。
下面的代码...
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。我选择了 8086 端口,因为它没有被使用;这与任何其他端口号没有区别。
该示例本身运行良好,并且以这种方式提供的任何 index.html 都运行良好,除非我添加了三个.js 代码并尝试提供该示例(作为 index.html)。除3D 场景外,一切都正常运行。
以这种方式提供three.js 代码导致其崩溃的原因是什么?为什么除此之外一切正常?
非常感谢任何帮助。谢谢你。
注意:尽管这个问题很相似,但答案确实说明了为什么 WebGL(通过three.js)在如上所述提供服务时不会呈现。