Спасибо, что заглянули в мой вопрос.
У меня есть узел / экспресс-сервер, настроенный с помощью файла server.js, который вызывает urls.js, который, в свою очередь, вызывает контроллеры для обработки http-запросов, и все они настроены одинаково, и все работают нормально, кроме одного.
Это мой OrderController. OrderController.js никогда не вызывается и, следовательно, никогда не возвращает никаких HTTP-ответов, даже если я уверен, что он должен вызываться.
Я пытался добавить операторы журналирования по всему OrderController.js, но они никогда не запускаются. Ничто в моем OrderController.js не работает вообще.
Я тщательно проверил свой файл urls.js, но не могу понять, почему не удалось загрузить OrderController, в то время как все остальные мои 8 контроллеров работают нормально.
Я добавил операторы регистрации в мой файл server.js, чтобы убедиться, что мой файл server.js действительно обрабатывает все http-запросы и передает их правильно в мой файл urls.js.
Я добавил операторы logging в мой файл urls.js, чтобы подтвердить, что он выполняется.
Я зарегистрировал контроллеры, оба требуют (OrderController.js) и мои другие контроллеры, и осмотрел сброшенные объекты json, но не смог определить что-либо отличное или ошибочное из полученного мной вывода.
Хранилище: https://github.com/allenchan3/foodproject/tree/40a43231ae49989a35fb0c004a897bbee69fe669
Теоретически проблема должна быть где-то в urls.js :
const path = require("path");
const staticFilesError = require("./errors").errorHTML;
module.exports = function(app, staticDir) {
const loginRegController = require(path.join("..","controllers","LoginRegController"));
const controllers = {
'categories': require(path.join("..","controllers","CategoryController")),
'diningrooms':require(path.join("..","controllers","DiningRoomController")),
'ingredients':require(path.join("..","controllers","IngredientController")),
'items': require(path.join("..","controllers","ItemController")),
'options': require(path.join("..","controllers","OptionController")),
'orders': require(path.join("..","controllers","OrderController")),
'tables': require(path.join("..","controllers","TableController")),
'users': require(path.join("..","controllers","UserController")),
};
for (key in controllers) {
app.use("/api/"+key, controllers[key]);
}
app.use(loginRegController);
app.get(/^\/api\//, (req, res) => res.status(404).json({"error":req.url+" not found"}));
app.get("*", (_,res) => res.sendFile(staticDir+"/index.html"));
}
Я просто пытаюсь сделать HTTP GET-запросы на /api/orders/
и получить что-то от контроллера заказов (в настоящее время он должен получить список всех заказов из моей базы данных). Я также сделал обработчик для /hello
, поэтому /api/orders/hello
должен хотя бы что-то возвращать. Что происходит на самом деле, так это то, что http-ответ никогда не приходит, даже 404, и я понятия не имею, почему.