我已经阅读了所有关于此的帖子,我知道这一定很愚蠢,但我不明白为什么下面的代码会抛出“TypeError: listener must be a function”
假设选项
var server = https.createServer(options, function(request,response){
if (request.url==='/') request.url='/home/altronic/Opti-Cal/web/arimonitor.htm';
console.log("Request: " + request.url);
fs.readFile("public"+request.url,function(error,data){
if (error) {
response.writeHead(404, {"Content-type":"text/plain"});
response.end ("Sorry the page you requested was not found.");
} else {
response.writeHead(200,{"Content-type":mime.lookup('public'+request.url)});
response.end (data);
}
})
}).listen(port);
控制台输出:
events.js:130
throw TypeError('listener must be a function');
^
TypeError: listener must be a function
at TypeError (<anonymous>)
at Server.EventEmitter.addListener (events.js:130:11)
at new Server (http.js:1816:10)
at Object.exports.createServer (http.js:1846:10)
at Object.<anonymous> (/home/altronic/Opti-Cal/src/Opti-Cal_HTTPS_Server.js:42:20)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Function.Module.runMain (module.js:497:10)
谁能帮我解决这个问题?
最佳答案
你在哪里分配https
?看起来您可能需要 http
,而不是 https
。 http.createServer
不接受像 https.createServer
这样的选项。
关于javascript - Node.js https.createServer 抛出 TypeError : listener must be a function,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24068035/