Node.js server.get() TypeError: undefined is not a function

Node.js server.get() TypeError: undefined is not a function

var express = require('express'),
    http = require('http'),
    app = express(),
    server = http.createServer(app),
    io = require('socket.io').listen(server), //pass a http.Server instance
    fs = require('fs');

server.listen(8008);

// routing
server.get('/', function (req, res) {
  res.sendfile(__dirname + '/chat.html');
});

我有创建服务器的代码。当我 运行 出现以下错误时:TypeError: undefined is not a function

server.get('/', function (req, res) {
       ^
TypeError: undefined is not a function
    at Object.<anonymous> (C:\Users\rexhi\Desktop\private_mess\app.js:11:8)
    at Module._compile (module.js:460:26)
    at Object.Module._extensions..js (module.js:478:10)
    at Module.load (module.js:355:32)
    at Function.Module._load (module.js:310:12)
    at Function.Module.runMain (module.js:501:10)
    at startup (node.js:129:16)
    at node.js:814:3

这里有什么问题?我是 Node 新手。

.get(req,res) 函数属于 express 的一个实例。因此,你应该这样做:

app.get('/', function (req, res) {
    ..
});

在我看来,您正在尝试使用 express 来处理您的路由,如果是这种情况,那么您希望使用 app.get() 而不是 server.get()。所以在你的情况下是这样的

app.get('/', function (req, res) {
  res.sendfile(__dirname + '/chat.html');
});

查看快速路由参考以获取更多信息 - http://expressjs.com/guide/routing.html

使用app.get()代替server.get()

app.get('/', function (req, res) {
  res.sendfile(__dirname + '/chat.html');
});