// 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);
来自routes / 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;
在我的每个路线页面上。 Express路由器已安装并保存到package.json。每次我遇到这个错误都是一个快速修复,因为我没有包含export语句。现在我终于记得添加它,我仍然收到此错误消息。任何建议或意见,将不胜感激!
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
答案 0 :(得分:0)
我使用IDE调用C9(Cloud 9)并且仅使用免费服务,这意味着更低的性能和潜在的停机时间优先考虑付费cx的用户空间。所以我退出了我的帐户并重新登录。然后在启动我的应用程序时清除并清理了工作区。在此之后,我能够毫无问题地预览我的应用程序。时间升级!我在代码中没有任何改变,没有添加或减少。这是我第一次看到它在6个月内发生过我使用它。这确实解决了这个问题。感谢所有的帮助和建议!