需要的NodeJS不起作用

需要的NodeJS不起作用

问题描述:

为什么下面的代码无法正常工作需要的NodeJS不起作用

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/express-validator#usage

+0

因为它的解构赋值 – Li357

为什么下面的代码无法正常工作

常量{}表达=要求( '表示');

const router = express.Router();

您正在使用destructuring来提取不存在的属性。您的代码有效地这样做:

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');

我不熟悉库导出的内容。如果您知道该对象同时具有validationResultcheck,并且这些是您唯一关心的事情,那么您的代码看起来很好。

+0

非常好的解释。 – jfriend00