var app = require('express')(),server = require('http').createServer(app),io = require('socket.io').listen(server); server.use(app.static('public')); server.listen(3000); app.get('/',function (req,res) { res.sendfile('index.html'); }); io.sockets.on('connection',function (socket) { socket.emit('news',{ hello: 'world' }); socket.on('my other event',function (data) { console.log(data); }); });
我只是试图启动非常小的工作项目,但是当涉及到静态内容时我就陷入了困境.我检查了其他类似的线程,但我不知道为什么它不适合我.我刚收到这个错误:
server.use(app.static('public')); ^ TypeError: Object function app(req,res){ app.handle(req,res); } has no method 'static'
我想我做错了什么,但我真的不知道是什么.也许我应该尽快去睡觉:)
解决方法
快递3的API是您需要将普通快递模块与您的应用实例分开.
var express = require('express'); //do NOT invoke the function here var app = express(); //DO invoke it here to get app app.use(express.static(__dirname + '/public'));
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。