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不是函数
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的新手。
答案 0 :(得分:2)
.get(req,res)
函数属于express
的实例。因此,您应该这样做:
app.get('/', function (req, res) {
..
});
答案 1 :(得分:2)
在我看来,您尝试使用快递处理路由,如果是这种情况,那么您要使用app.get()
而不是server.get()
。所以在你的情况下像
app.get('/', function (req, res) {
res.sendfile(__dirname + '/chat.html');
});
请查看快速路由参考以获取更多信息 - http://expressjs.com/guide/routing.html
答案 2 :(得分:1)
使用app.get()
代替server.get()
app.get('/', function (req, res) {
res.sendfile(__dirname + '/chat.html');
});