快速的NodeJS不服务“/socket.io/socket.io.js”(NodeJS Expre

2019-07-03 23:25发布

我想建立的NodeJS /快速/ SocketIO应用。

进口:

var     express     = require('express')
    ,   app         = express()
    ,   server      = require('http').createServer(app)
    ,   io          = require('socket.io').listen(server)...

组态:

app.configure(function(){
    app.set('port', process.env.PORT || 3000);
    app.set('views', __dirname + '/views');
    app.set('view engine', 'jade');
    app.use(express.favicon());
    app.use(express.logger('dev'));
    app.use(express.bodyParser());
    app.use(express.methodOverride());
    app.use(express.cookieParser('your secret here'));
    app.use(express.session());
    app.use(app.router);
    app.use(express.static(path.join(__dirname, 'public')));
});

在我玉模板:

script(type='text/javascript', href='/socket.io/socket.io.js')

但“/socket.io/socket.io.js”是不是当我试图达到其可用

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

因为它说:

不能得到/socket.io/socket.io.js

如何服务从已安装的模块socket.io.js?

谢谢

Answer 1:

您需要将客户端代码从内部Socket.io目录复制到您的公共目录。 在插槽0.9中,路径分配文件是node_modules/socket.io/node_modules/socket.io-client/dist



Answer 2:

您不必复制任何文件,socket.io将采取文件的传送的照顾。

var express = require('express'),
    app     = new express(),
    server  = require('http').createServer(app),
    io      = require('socket.io').listen(server)


Answer 3:

在快递3/4可以初始化socket.io像这样:

var io = require("socket.io")(app.listen(80));


Answer 4:

有一个错误,用

script(type='text/javascript', src='/socket.io/socket.io.js')

代替

script(type='text/javascript', href='/socket.io/socket.io.js')


文章来源: NodeJS Express not serving '/socket.io/socket.io.js'