我是Node和Express的新手,我喜欢将路由功能分离在单独的文件中 ,但我总是收到错误。
我的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");
我的Routes/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(索引);
然后我得到这样的错误
Router.use() requires middleware function but got a Object
最佳答案
因此,作为摘要(和正确答案),您有两个问题:
拼写错误:
module.export = router;
应为 module.exports = router;
。
中间件:
您的中间件应该调用 next()
将请求传递给下一个函数。更多详情请查看the documentation .
关于javascript - 在express js 4中分离路由器文件时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38582455/