Я пытаюсь запустить создание маршрута следующим образом:
const express = require('express');
const router = express.Router();
const check=require('express-validator');
router.post(
'/',
[
check('name','Name is mandatory').not().isEmpty(),
check('email','Invalid Email').isEmail(),
check('password','Password is should be atleast 6 character long with atleast a single alphanumeric').isLength({min:6}),
],
(req,res)=>{
const errors =validationResult(req);
if(!errors.isEmpty())
{
return res.status(400).json({errors:errors.array()});
}
res.send('passed');
}
);
module.exports = router;
Вот схема пользователя:
const mongoose = require('mongoose');
const Schema = mongoose.Schema;
const UserSchema = new Schema({
name: {
type: String,
trim: true,
required: true,
},
email: {
type: String,
trim: true,
required: true
},
password: {
type: String,
trim: true,
required: true
}
});
module.exports = mongoose.model('User', UserSchema);
и server.js:
const express = require('express');
const app = express();
const PORT = process.env.PORT || 2000;
const users = require('./routes/users');
const connectDB = require('./config/database');
connectDB();
app.use(express.json({extended:false}));
app.get('/', (req, res) => res.json({
"msg": "API v1"
}));
app.use('/api/users', users);
app.listen(PORT, () => console.log(`Server started on port ${PORT}`));
package.json выглядит следующим образом:
{
"name": "backend",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"start": "node server.js",
"server": "nodemon server.js"
},
"author": "",
"license": "ISC",
"dependencies": {
"bcrypt": "^3.0.6",
"body-parser": "^1.19.0",
"config": "^3.2.2",
"express": "^4.17.1",
"express-validator": "^4.3.0",
"jsonwebtoken": "^8.5.1",
"mongoose": "^5.7.1",
"morgan": "^1.9.1",
"nodemon": "^1.19.3"
}
}
Эта программа работала, когда я проверил ее пару недель назад и перешел в другие проекты, теперь я получаю эту ошибку, когда выполняю это с помощью nodemon:
X: \ MyProjectDir \ node_modules \ express-validator \ utils \ map-exte.js: 2
Object.keys (src) .forEach (функция (имя) {^
TypeError: Невозможно преобразовать неопределенное или нулевое значение в объект в Function.keys () в Object.mapAndExtend (X: \ MyProjectDir \ node_modules \ express-validator \ utils \ map-exte.js: 2: 10) в expressValidator (X: \ MyProjectDir \ node_modules \ express-validator \ lib \ express_validator.js: 201: 9) в Object. (X: \ MyProjectDir \ rout \ users.js: 9: 9) в Module._compile (module.js: 652:30) в Object.Module._extensions..js (module.js: 663: 10) в Module.load (module.js: 565: 32) в tryModuleLoad (module.js: 505: 12) в Function.Module. _load (module.js: 497: 3) в Module.require (module.js: 596: 17) при требовании (internal / module.js: 11: 18) в Object. (X: \ MyProjectDir \ server.js: 4: 15) в Module._compile (module.js: 652: 30) в Object.Module._extensions..js (module.js: 663: 10) в Module.load (module.js: 565: 32) at tryModuleLoad (module.js: 505: 12) Сбой приложения [nodemon] - ожидание изменений файла перед запуском ...