express - Expressjs 从另一个中间件调用中间件
问题描述
路由.js
var router = require('express').Router();
router.get('/all', require('./all'));
module.exports = router;
all.js 工作
module.exports = function(req, res, next) {
res.send('this one work');
};
all.js 不起作用。
const start = function(req, res, next) {
res.write('start');
next();
}
const finish = function(req, res, next){
res.write('finish!');
res.end();
}
module.exports = function(req, res, next) {
start,
finish
};
如何使 all.js 工作。更新:页面的完整代码
解决方案
您可以将您的 routes.js 更改为如下内容:
var router = require('express').Router();
var all = require('./all');
// Call your middlewares in the desired order
router.get('/all', all.start, all.finish);
module.exports = router;
另请阅读此问题和答案以获取更多详细信息。
根据您的评论:
all.js:
const start = function(req, res, next) {
res.write('start');
next();
}
const finish = function(req, res, next){
res.write('finish!');
res.end();
}
module.exports = [start, finish];
路线.js:
var router = require('express').Router();
router.get('/all', require('./all'));
module.exports = router;
推荐阅读
- schedule - 到达率的 AnyLogic 时间表
- vue.js - 如何在安装生命周期方法之前使用 vue.js?
- swift - UIApplication.shared.open 在 ios 13 中不起作用
- html - 谁能告诉我如何在 vscode 中添加一个 favicon(Visual Studio 代码)
- angular - angular 8 库 - 在 npm 链接后无法找到组件
- javascript - localStorage.removeItem() 不从对象中删除键/值
- reactjs - ReactNative 代码需要很长时间才能完成
- java - 如何在控制台中打印不同语言的字符串值?
- sh - 在busybox中使用shell脚本仅验证字母
- r - 是否可以将 R 中的 evtree 包用于面板数据/多年?