< Сильный > routes.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 работать. Обновление: полный код страницы
0
Vuong Tran
22 Окт 2018 в 10:21
2 ответа
Лучший ответ
Вы можете изменить свой 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;
Прочтите также этот вопрос и ответы, чтобы получить еще несколько деталей.
Согласно вашему комментарию:
< EM> 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];
< EM> routes.js :
var router = require('express').Router();
router.get('/all', require('./all'));
module.exports = router;
0
pzaenger
22 Окт 2018 в 08:04
Попробуйте, это сработает для вас
Вам нужно изменить только два места в вашем коде, иначе все будет правильно.
< Сильный > routes.js
var router = require('express').Router();
var all = require('./all');
//call both start and finish from all.js file here
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();
}
//export in this way
module.exports = {
start,
finish
}
0
SUBHAM OJHA
22 Окт 2018 в 10:00
Похожие вопросы
Новые вопросы
express
Express - это минималистичная и гибкая платформа веб-приложений Node.js, обеспечивающая надежный набор функций для создания веб-приложений.