使用带有快速生成器的socket.io时出现404错误

时间:2014-06-13 02:43:21

标签: node.js express socket.io

我正在构建"你好世界"使用快速生成器结构的socket.io。当我执行我的应用程序时,我得到" localhost / socket.io / socket.io.js 404 Uncaught ReferenceError:io未定义"。我安装了套接字依赖项,我正在创建socket io路由到index.js(由express-generator生成)。

路由/ index.js

var express = require('express');
var router = express.Router();

var http = require('http').Server(express); //http;Server(serverVar)
var io = require('socket.io')(http);

视图/ index.ejs

<script src="socket.io/socket.io.js"></script>
var socket = io();

2 个答案:

答案 0 :(得分:0)

我建议你使用全局结构来定义带有express.js的路由,你需要使用io.connect(path)函数将你的网页连接到你的node.js服务器

routes / index.js

var express=require('express');
var http=require('http');
var app=express();
var server=http.createServer(app).listen(process.env.PORT);
var io=require('socket.io').listen(server);

app.use(express.static(__dirname+'/views'));

并使用app.get方法来处理不可靠的URL请求,您可以将任何页面名称放在Default.html的位置

app.get('*',function(request,response){
response.redirect('Default.html');
});

然后在客户端文件视图/ index.ejs

中使用此代码
 var socket;
 $(document).ready(function(){
 socket=io.connect(window.location.hostname);});

您可以使用您的网址本地路径更改“window.location.hostname”gloabl变量,以防发生错误

答案 1 :(得分:0)

使用快速生成工具生成快速项目后出现同样的问题。使用this配置,所有功能都像魅力