我正在为我们的用户,集群,(单一)节点管理等项目创建一个前端应用程序。
我决定使用HTML和JavaScript创建前端,并使用NodeJS创建服务器端功能。
我已经创建了Web服务器,可以处理定义的路由和文件;我决定将操作拆分为函数。从我收集的关于JavaScript的内容来看,如果参数不是对象,则按值调用参数,如果它们是对象,则通过引用调用参数?
如果是这种情况,为什么我不能从外部函数结束()我的请求?如果可以的话,我该怎么做?
谢谢!
以下代码供参考。
// Define server functionality
if (request.method === "GET") {
// All GET functions/routes go here
if (routes[request.url]) {
// Route was found!
// Execute handler function
routes[request.url](request, response);
} else {
// No such route found in the hashtable
// Check if it's a file
var filePath = __dirname + request.url;
if (fs.existsSync(filePath)) {
// It's a file and was found!
//zOMG!!!1!elf
var mimeType = mime.contentType(path.extname(filePath));
var content = null;
if (mimeType.indexOf("text") > -1) {
// File contains text
content = fs.readFileSync(filePath, "UTF-8");
} else {
// File is binary
content = fs.readFileSync(filePath);
}
//console.log(mimeType); // Output MIME type of each requested file
response.statusCode = 200;
response.setHeader("Content-Type", mimeType === false ? "application/octet-stream" : mimeType);
response.end(content);
} else {
// File not found!
console.log(`File ${filePath} was NOT FOUND!`);
console.log("Cannot serve null!");
error404(request, response);
}
}
}
function error404(request, response) {
"use strict";
response.statusCode = 404;
response.end();
}
答案 0 :(得分:1)
发现自己答案
睡眠过少的典型症状。 修改代码后我忘了重启服务器。
捂脸