在快速js分离路由器文件错误4

我是NodeExpress的新手,我喜欢在单独的文件中分开路由function ,但是我总是得到错误。

我的app.js文件 –

var express = require('express'); var index = require('./Routes/index'); var app = express(); app.use(index); app.listen(2000); console.log("Server working at port 2000"); 

我的路线/ index.js

 var express = require('express'); var router = express.Router(); router.use(function(req,res,next){ console.log("url "+req.url); }); router.get('/',function(req,res){ res.send("Hi is it working?"); }); module.export = router; 

当我运行它,说错误如

 app.use() requires middleware functions 

如果我放

 `app.use('/',index);` 

而不是app.use(index); 那么我得到这样的错误

 Router.use() requires middleware function but got a Object 

所以作为一个总结(和一个正确的答案)你有两个问题:

错字:

module.export = router; 应该是module.exports = router;

中间件:

你的中间件应该调用next()把请求传递给下一个函数。 有关更多详细信息,请查看文档 。

这个问题正如评论中提到的那样:

 module.exports = router; 

代替:

 module.export = router; 

我在这个问题上犯了两个错误

  1. 我有一个错字。 在line module.exports里我把module.export ( jonas )

  2. 下一个错误是我需要把next();router.use()中间件function。 因为我没有放下next(); 它不知道中间件function后要执行什么。 我的意思是它不知道我的路线。 ( javiercf )