Я создаю супер простой сервер в узле, и в моем слушателе onRequest я пытаюсь определить, должен ли я обслуживать статический файл (с диска) или какой-то json (возможно, извлеченный из mongo) на основе пути вrequest.url
.
В настоящее время я пытаюсь сначала выполнить статистику файла (потому что я использую mtime в другом месте), и если это не помогает, тогда я читаю содержимое с диска.Примерно так:
fs.stat(request.url.pathname, function(err, stat) {
if (!err) {
fs.readFile(request.url.pathname, function( err, contents) {
//serve file
});
}else {
//either pull data from mongo or serve 404 error
}
});
Кроме кэширования результата fs.stat
для request.url.pathname
, есть ли что-то, что могло бы ускорить эту проверку?Например, будет ли так же быстро увидеть, нет ли ошибок fs.readFile
вместо stat
?Или использовать fs.createReadStream
вместо fs.readFile
?Или я мог бы проверить файл, используя что-то в child_process.spawn
?По сути, я просто хочу убедиться, что не буду тратить лишнее время на беспорядок с fileio, когда запрос должен быть отправлен в mongo для данных ...
Спасибо!