我知道这里有很多类似的问题,但是我保证我已经阅读了所有这些问题,没有找到解决方法。
我正在尝试使用Express Router编写应用程序,但出现此错误:
app.use() requires a middleware function
我已经尝试过以多种方式实现中间件,但是无法解决。
这是我代码的最新版本(非常简洁):
/index.js
import express from 'express';
const app = express();
app.use((req, res, next) => {
console.log(req.method, req.url);
next();
});
app.use(require('./routes'));
/routes/index.js
import credentials from './credentials';
export default [credentials];
/routes/credentials/index.js
import express from 'express';
const router = express.Router();
router.get('/credentials', async (req, res) => {
console.log('Getting credentials...');
});
export default router;
有人可以帮我找到问题吗?
答案 0 :(得分:1)
我发现了错误。在我的/index.js
中,我应该将路由添加到router.use
中而不是app.use
中。
这是我的/index.js
的最终代码:
import express from 'express';
const app = express();
const router = express.Router();
router.use(require('./routes'));
app.use(router);