使用对象解构来 require() Express Router

Using object destructuring to require() Express Router

此代码有效:

const express = require('express');
const Router = express.Router();

Router.get('/hello-world', (req, res, next) => {                                     
    res.send("hello world!"); //works great                   
});

但是这段代码没有:

const {Router} = require('express');

Router.get('/hello-world', (req, res, next) => {                                     
    res.send("hello world!"); // :( doesnt work                  
});

我对解构有什么误解?谢谢

您仍然需要调用函数:

const {Router} = require('express');
Router().get('/hello-world', (req, res, next) => {
//    ^^
    res.send("hello world!"); // :( doesnt work                  
});

What am I misunderstanding about destructuring?

密码

const {Router} = require('express');

相当于

const temp = require('express');
const Router = temp.Router;

但你在做

const express = require('express');
const Router = express.Router();
//                           ^^