express.static(): "Undefined is not a function"

express.static(): "Undefined is not a function"

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

提前感谢您的建议!

变化:

.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