socket.ioを使用してWebページを提供するノードサーバーを作成しています。しかし、私はページをロードするとき、コンソールが続く、エラー当然、あるsocket.ioを取得しようとするとエラー404が発生する
(index):6 GET http://localhost:3000/socket.io/socket.io.js
を示しています
(index):51 Uncaught ReferenceError: io is not defined
私はネットワークタブのページでロードされたファイルを調べたときに、それは示していsocket.ioのエラー404しかし、驚くべきことに、私がsocket.ioを使って他のプログラムを立ち上げたとき、すべて正常に動作しました。唯一の相違点は、私はエクスプレスを使用することです。ここで
は私のコードは次のとおりです。
app.js:
var express = require('express');
var app = require('express')();
var server = require('http').Server(app);
var io = require('socket.io')(server);
app.use(express.static("./app"));
app.get("/", function(req, res, next) {
res.sendFile(__dirname + "/index.html")
});
app.listen(3000);
console.log("Server started in http://localhost:" + 3000);
io.on('connection', function(socket){
socket.emit('news', {hello :'world'});
socket.on('my other event', function(data){
console.log(data);
});
});
のindex.html:あなたの助けを
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<script src="/socket.io/socket.io.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
</head>
<body>
[Some unrelated text]
<script>
var socket = io.connect('http://localhost');
socket.on('news', function(data){
console.log(data);
socket.emit('my other event', {my: 'data'});
});
</script>
</body>
</html>
ありがとう!
ありがとうございました!あなたの解決策をテストした後、私はトップの答えを使って修正した同じエラーをこの他のスレッドで得ました。 http://stackoverflow.com/questions/24526166/socketio-err-connection-refused –
はい、以前は他のスレッドから修正をテストしたかっただけです。ご協力いただきありがとうございます ! –
乾杯。 Gr8それworkd! – Iceman