Как использовать библиотеку cors в роутере
Когда я использую cors() в главном файле(app.js), то все исправно работает:
const express = require('express');
const config = require('config');
const cors = require('cors');
const corsOptions = {
origin: config.get('CORS.whiteList'),
optionsSuccessStatus: config.get('CORS.optionsSuccessStatus')
}
app.get('/some',
cors(corsOptions),
async(req, res) => {
return res.send('Ответ');
});
app.listen(5000, () => console.log('App has been started on port: 5000'));
Но при этом, когда я использую cors() в роуте, то возвращает bad request:
В app.js:
const express = require('express');
const config = require('config');
const cors = require('cors');
const corsOptions = {
origin: config.get('CORS.whiteList'),
optionsSuccessStatus: config.get('CORS.optionsSuccessStatus')
}
app.use(cors(corsOptions));
app.use('/api/auth', require('./routes/auth.routes'));
И сам роутер:
const express = require('express');
const { check, validationResult } = require('express-validator');
const config = require('config');
const bodyParser = require('body-parser');
const router = express.Router();
const jsonParser = bodyParser.json();
router.post('/login',
jsonParser,
[check('email', 'Некоректный email').isEmail()],
async(req, res) => {
try {
const errors = validationResult(req);
if (!errors.isEmpty()) {
return res.status(400).json({
errors: errors.array()[0].msg,
message: 'Некорректные данные при регистрации'
})
}
} catch (err) {
res.status(500).json({
msg: 'Что-то пошло не так, попробуйте снова',
err: err.stack
});
}
}
);
module.exports = router;
UPD
Из файла конфига:

