2

ばかげた質問をしてすみません、そしてそれは間違いないでしょう。私はソケットioの使用方法に従っています:http ://socket.io/#how-to-useそして問題を抱え続けています。

ノードアプリ(エクスプレスのバージョン3.0アルファを実行)があり、次のものがあります。

app = express()

io = require('socket.io').listen app

layout.jadeを編集し、以下を追加しました。

script(src="/socket.io/socket.io.js")

またnpm install socket.io、サーバー上で正常に起動することを確認しました。

いずれかのページを参照すると、コンソールに次のように表示され続けます。

GET http://localhost:3000/socket.io/socket.io.js 404 (Not Found)

他の誰かがこの問題を経験しましたか?

4

2 に答える 2

4

これが私がちょうどそれらをテストしたステップバイステップの説明です

express socket
cd socket
npm install
npm install socket.io

app.jsに以下を追加します

var io = require('socket.io').listen(app);

走る

node app

コンソールに表示されるはずです

info  - socket.io started

ブラウザで

http:// localhost:3000 / socket.io / socket.io.js

生のJavaScriptが表示されるはずです

編集:

3.0alpha1にも問題があります。バグのようです。これは醜い回避策です

var fs = require('fs');
app.get('/socket.io/socket.io.js', function(req, res) {
    fs.readFile('/PROJECT_HOME/node_modules/socket.io/lib/socket.io.js', function(error, content) {
        if (error) {
            res.writeHead(500);
            res.end();
        }
        else {
            res.writeHead(200, { 'Content-Type': 'text/javascript' });
            res.end(content, 'utf-8');
        }
    });
});
于 2012-04-20T08:56:50.693 に答える
0

app.jsからlayout.jadeを実行していますか?

app.get('/',function(req,res){
    res.sendfile('index.html');
});

テンプレートがindex.htmlファイルにあると仮定すると、これをapp.jsに含める必要があります。

于 2012-04-20T09:06:41.310 に答える