2017-08-31 45 views
0

app.js獲得「類型錯誤:‘監聽器’參數必須是一個函數」中的Node.js

var url = require('url'); 
var http = require('http'); 
var fs = require('fs'); 

http.createServer(200, function(req, res){ 
    var q = url.parse(req.url, true); 
    var filename = "." + q.pathname; 
    fs.readFile(filename, function(err, data){ 
    if(err) 
    { 
     res.writeHead(404, {'Content-Type' : 'text/html'}); 
     return res.end("404 Not Found!!!"); 
    } 
    res.writeHead(200, {'Content-Type' : 'text/html'}); 
    res.write(data); 
    return res.end(); 
    }); 
}).listen(8080); 

當我嘗試使用命令「節點app.js」來運行它,我得到的以下錯誤:

events.js:238 
    throw new TypeError('"listener" argument must be a function'); 
    ^

TypeError: "listener" argument must be a function 
    at _addListener (events.js:238:11) 
    at Server.addListener (events.js:298:10) 
    at new Server (_http_server.js:263:10) 
    at Object.createServer (http.js:35:10) 
    at Object.<anonymous> (E:\AngularJS\New folder\app2.js:7:6) 
    at Module._compile (module.js:573:30) 
    at Object.Module._extensions..js (module.js:584:10) 
    at Module.load (module.js:507:32) 
    at tryModuleLoad (module.js:470:12) 
    at Function.Module._load (module.js:462:3) 

我試圖找出解決方案,但無法解決它。 在此先感謝。

回答

0

只需移動200

var url = require('url'); 
var http = require('http'); 
var fs = require('fs'); 

http.createServer(function(req, res){ 
    var q = url.parse(req.url, true); 
    var filename = "." + q.pathname; 
    fs.readFile(filename, function(err, data){ 
    if(err) 
    { 
     res.writeHead(404, {'Content-Type' : 'text/html'}); 
     return res.end("404 Not Found!!!"); 
    } 
    res.writeHead(200, {'Content-Type' : 'text/html'}); 
    res.write(data); 
    return res.end(); 
    }); 
}).listen(8080); 
相關問題