Router.use() требует промежуточную функцию, но получил объект. module.exports = маршрутизатор существует на странице

Из app.js

 // REQUIRE ROUTES
    var commentRoutes = require("./routes/comments"),
    bpostRoutes = require("./routes/bposts"),
    indexRoutes = require("./routes/index");


   //USE ROUTES
   app.use("/", indexRoutes);
   app.use("/bposts", bpostRoutes);
   app.use("/bposts/:id/comments", commentRoutes);

из маршрутов /index.js

     var express = require("express");
     var router  = express.Router();

     //LANDING -root route
     router.get("/", function(req, res){
     res.render("landing"); 
   });

   module.exports = router;

В настоящее время я пытаюсь настроить все свои маршруты, прежде чем создавать базу данных или делать что-то значимое для блога. Когда я столкнулся с этой проблемой в первый раз, это было потому, что я не использовал

module.exports = router;

на каждой странице маршрута у меня было. Экспресс-роутер установлен и сохранен в package.json. Каждый раз, когда я сталкиваюсь с этой ошибкой, это быстрое исправление, потому что я не включил оператор экспорта. Теперь я наконец-то вспомнил, как добавить его, и я все еще получаю это сообщение об ошибке. Любые предложения и советы приветствуются!

 throw new TypeError('Router.use() requires a middleware function but got a ' + gettype(fn))
  ^

TypeError: Router.use() requires a middleware function but got a Object
    at Function.use (/home/ubuntu/workspace/node_modules/express/lib/router/index.js:458:13)
    at EventEmitter.<anonymous> (/home/ubuntu/workspace/node_modules/express/lib/application.js:220:21)
    at Array.forEach (native)
    at EventEmitter.use (/home/ubuntu/workspace/node_modules/express/lib/application.js:217:7)
    at Object.<anonymous> (/home/ubuntu/workspace/app.js:25:5)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
    at Module.runMain (module.js:604:10)
    at run (bootstrap_node.js:389:7)
    at startup (bootstrap_node.js:149:9)
    at bootstrap_node.js:504:3

1 ответ

Решение

Я использую IDE с названием C9(Cloud 9) и использую только бесплатный сервис, что означает более низкую производительность и потенциальное время простоя, отдавая приоритет пользовательскому пространству для платного CX. Поэтому я вышел из своей учетной записи и снова вошел в систему. Затем он очистил и очистил рабочее пространство во время запуска моего приложения. После этого я смог без проблем просмотреть мое приложение. Время обновить! Я ничего не изменил в коде, никаких дополнений или вычитаний. Это первый раз, когда я видел это за 6 месяцев, когда я использовал его. Это действительно решило проблему. Спасибо за всю помощь и предложения!

Другие вопросы по тегам