Почему следующий код не работает
const {express} = require('express');
const router = express.Router();
Неразрешенная функция или метод Router
но эта работа
const express = require('express');
и если я хочу сделать это, то что мне делать. Два метода в одном требуют
const {validationResult, check} = require('express-validator/check');
узел -v//v8.3.0
Я пытаюсь использовать это. Https://github.com/ctavan/express-validator#usage
Почему следующий код не работает
const {express} = require ('express');
const router = express.Router();
Вы используете деструктурирование, чтобы извлечь свойство, которого нет. Ваш код эффективно делает это:
const temp = require('express');
const express = temp.express;
Объект, возвращаемый require('express')
имеет несколько свойств, но .express
не является одним из них, поэтому вы в конечном итоге устанавливаете выражение в undefined. И затем, когда вы вызываете express.Router(), вы получаете сообщение об ошибке.
Ваш код, который работает, просто сохраняет весь объект, а затем обращается к нему с правильными именами свойств. Вы можете сохранить этот код, или если вы знаете, что вас интересует только маршрутизатор, который вы можете сделать:
const {Router} = require('express');
const router = Router();
который был бы почти таким же, как:
const express = require('express');
const Router = express.Router;
const router = Router();
и если я хочу сделать это, то что мне делать. Два метода в одном требуют
const {validationResult, check} = require ('express-validator/check');
Я не знаком с тем, что экспортирует библиотека. Если вы знаете, что объект имеет как validationResult
и check
и что это единственное, что вас беспокоит, тогда ваш код выглядит отлично.