NodeJS Express不提供'/socket.io/socket.io.js'
我正在尝试构buildNodeJS / Express / SocketIO应用程序。
import:
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'))); });
在我的Jade模板中:
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?
谢谢
您需要将客户端代码从内部Socket.io目录复制到您的公共目录。 在Socket 0.9中,可分发文件的path是node_modules/socket.io/node_modules/socket.io-client/dist
。
您不必复制任何文件,socket.io将负责交付文件。
var express = require('express'), app = new express(), server = require('http').createServer(app), io = require('socket.io').listen(server)
在Express 3/4中,您可以像这样初始化socket.io:
var io = require("socket.io")(app.listen(80));
有一个错误,使用
script(type='text/javascript', src='/socket.io/socket.io.js')
代替
script(type='text/javascript', href='/socket.io/socket.io.js')
- expressjs-注入中间件路由失败
- 你如何在一个快速的应用程序设置玉basedir选项? (“basedir”选项需要使用“扩展”和“绝对”path)
- Express js静态相对父目录
- 使用Express将文件读取到节点中的字节
- 如何使用Underscore.js作为View Engine for Express v3
- Node.js将一个variables等待分配,直到callback函数完成
- 渲染页面,同时使http请求expression
- express:保持所有DRY创build一个mongoose连接模块(使用新的createConnection方法)
- NodeJS / Express app.use序列和用法