ここにある例を、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 は使用されていないため、選択しました。このポート番号と他のポート番号に違いはありません。
この例はそれ自体で正常に動作し、three.js コードを追加して例を (index.html として) 提供しようとした場合を除いて、この方法で提供された index.html はすべてうまく動作します。3D シーンを除いて、すべてが提供され、正常に動作します。
three.js コードをこのように提供すると、コードが壊れてしまうのはなぜですか? それ以外はすべて機能するのはなぜですか?
どんな助けでも大歓迎です。ありがとうございました。
注:この質問は似ていますが、答えは、上記で説明したように提供されたときに WebGL (three.js 経由) がレンダリングされない理由について何かを述べています。