我正在构建"你好世界"使用快速生成器结构的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();
答案 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配置,所有功能都像魅力