express.static():“未定义不是函数”

为了find这个问题的答案一直谷歌search了一段时间,但我仍然无法find我的代码中的问题。 我试图让我的第一个Socket.io应用程序,只是当用户连接输出一个消息到控制台。

这里是我从Node.js得到的错误:

这里是我的源代码:

var port = process.argv[2]; var express = require('express'); var app = express(); var path = require('path'); app.get('/', function(req, res) { res.render('index.ejs'); }) .use(app.static(path.join(__dirname, '/public'))); var io = require('socket.io')(app.listen(port)); io.on('connection', function(socket) { console.log('Someone connected'); }); console.log('Listening on port ' + port); 

在此先感谢您的build议!

更改:

.use(app.static(path.join(__dirname, '/public')));

至:

.use(express.static(path.join(__dirname, '/public')));

我尝试了上面所有的答案,但没有为我工作。 然后我试着用“npm install -g express-static –save”来安装express-static。 并在下面的代码中使用,

 var pathComp= require("express-static"); app.use(pathComp(__dirname+"/client")); 

分享这个虽然它的旧线程。 有关更多参考访问, 请访问https://www.npmjs.com/package/express-static