Получение TypeError: Невозможно преобразовать неопределенное или нулевое значение в объект из node_modules \ express-validator \ utils \ map-exte.js: 2 - PullRequest
0 голосов
/ 04 октября 2019

Я пытаюсь запустить создание маршрута следующим образом:

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] - ожидание изменений файла перед запуском ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...