需要的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
答
为什么下面的代码无法正常工作
常量{}表达=要求( '表示');
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');
我不熟悉库导出的内容。如果您知道该对象同时具有validationResult
和check
,并且这些是您唯一关心的事情,那么您的代码看起来很好。
+0
非常好的解释。 – jfriend00
因为它的解构赋值 – Li357