express.static():“Undefined不是函数”

时间:2015-04-20 13:39:01

标签: javascript node.js express socket.io

谷歌搜索了一段时间以找到这个问题的答案,但我仍然无法在我的代码中找到问题。我试图创建我的第一个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);




提前感谢您的建议!

2 个答案:

答案 0 :(得分:10)

变化:

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

要:

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

答案 1 :(得分:1)

我尝试了上面的所有答案,但对我没有用。然后我尝试使用" 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