Quantcast
Channel: Node.jsタグが付けられた新着記事 - Qiita
Viewing all articles
Browse latest Browse all 9090

Node.js & Express & Socket.ioで非同期通信しようとしたら"/socket.io.js 404"で上手くいかない

$
0
0

はじめに

今までRailsしかやってこなかったのでNode.jsを入門しようと思い, とりあえずexpress-generatorでWebアプリの雛形を作り, Socket.ioを使った簡単な非同期通信チャットアプリを作ろうと思いました.
しかし, npm startしてページを開けても

GET /socket.io/socket.io.js 404

と出てしまい上手くいきませんでした.

色々ググったら解決したので, 備忘録として記事を書きます.
間違ってる部分があればコメントでご指摘頂けると助かります.

環境

macOS Mojava 10.14.6
Node.js 12.13.1
npm 6.12.1
Express 4.17.1
Socket.io 2.3.0

何がダメだったか(私の場合)

このエラーの原因は色々と考えられますが, 私の場合はapp.jsに

vario=require('socket.io')(server);io.on('connection',function(socket){console.log('connected');});

を入れていたからっぽかったです.
socket関連の処理は, app.jsではなくbin/wwwファイルに書くとのことでした.

解決策

bin/wwwに処理を書きます.

varserver=http.createServer(app);

の後に,

//Socket.iovario=require('socket.io')(server);io.on('connection',function(socket){console.log('connected');});

を記述すると, 無事ターミナルで
connected
と出力されていました.


Viewing all articles
Browse latest Browse all 9090

Latest Images

Trending Articles