2015-07-07 1 views
0
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: не определено не является функциейNode.js server.get() ТипError: undefined не является функцией

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.

ответ

2

Функция .get(req,res) принадлежит к экземпляру express. Таким образом, вы должны сделать:

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

Она смотрит на меня, как вы пытаетесь использовать экспресс для обработки вашего маршрута, если это так, то вы хотите использовать app.get() не server.get(). Так что в вашем случае что-то вроде

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

Посмотрите на прямой ссылки маршрутизации для получения дополнительной информации - http://expressjs.com/guide/routing.html

+1

Хороший улов, спасибо. – pxslip

1

Использование app.get() вместо server.get()

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

 Смежные вопросы

  • Нет связанных вопросов^_^