Javascript nodejs-TypeError:未定义不是函数

Javascript nodejs-TypeError:未定义不是函数,javascript,node.js,Javascript,Node.js,我试图从服务器重定向并根据切换结果显示网页,但我遇到下一个错误: TypeError: undefined is not a function at Server.emit (events.js:110:17) at HTTPParser.parserOnIncoming [as onIncoming] (_http_server.js:491:12) at HTTPParser.parserOnHeadersComplete (_http_common.js:111:23)

我试图从服务器重定向并根据切换结果显示网页,但我遇到下一个错误:

TypeError: undefined is not a function
at Server.emit (events.js:110:17)
    at HTTPParser.parserOnIncoming [as onIncoming] (_http_server.js:491:12)
    at HTTPParser.parserOnHeadersComplete (_http_common.js:111:23)
    at Socket.socketOnData (_http_server.js:343:22)
    at Socket.emit (events.js:107:17)
    at readableAddChunk (_stream_readable.js:163:16)
    at Socket.Readable.push (_stream_readable.js:126:10)
    at TCP.onread (net.js:538:20)
有人能帮我吗?提前谢谢。 cga

myserver.js代码

var http = require('http');
var fs = require('fs');
http.createServer(function(request, response) {
response.writeHead(200, {'Content-Type': 'text/html'});

switch(request.url){

    case '/':
        template = "home.html";
        break;
    case '/nodejs':
        template = "node.html";
        break;
    default:
        template = "404.html";
        break;

}

fs.readfile('./templates/' + template , function(err, data) {

    response.write(data);
    response.end();
});

}).listen(3000, 'localhost');

fs.readfile
应该是
fs.readfile

这只是一个输入错误,您应该添加一个编码,以确保
数据
不是缓冲区,而是字符串。非常感谢您,Adeneo。我会考虑你的建议的。哦,我的上帝!非常感谢你的帮助,曼少校。如您所查,我对这项业务不熟悉;-)对于这个错误,它可能没有什么特别的帮助,但是你应该使用一个像jshint这样的工具来检查你的代码是否有拼写错误:)我刚刚开始使用Sublime Text 2。而且似乎“理解”Javascript,但不理解nodejs。您认为jshint更适合使用node吗?再次感谢。jshint是一个工具,不是文本编辑器。javascript不会提供太多的静态保护。你可以得到升华的jshint插件(你可以手动触发它来检查你的代码),我刚刚检查了升华文本v2和v3是否有jshint版本。谢谢你的建议。