为什么以下代码不起作用
const {express} = require('express');
const router = express.Router();
未解决的功能或方法路由器
但是这项工作
const express = require('express');
,如果我想这样做,我该怎么办。.两种方法需要
const {validationResult, check} = require('express-validator/check');
节点-v//v8.3.0
我正在尝试使用此事.. https://github.com/ctavan/ctavan/express-validator#usage
为什么以下代码不起作用
const {express} = require('express');
const router = express.router();
您正在使用破坏来提取不存在的属性。您的代码实际上是这样做的:
const temp = require('express');
const express = temp.express;
require('express')
返回的对象具有多个属性,但是.express
不是其中之一,因此您最终将Express Express设置为未定义。然后,当您致电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
,并且这些是您唯一关心的内容,那么您的代码看起来不错。