Node.js 什么';这两种呼叫express.router的方式有什么区别?
我是Node/Express的新手,在阅读文档和做一些教程时,我发现Express路由器是以两种不同的方式初始化的。他们之间有什么有意义的变化吗 方法1:Node.js 什么';这两种呼叫express.router的方式有什么区别?,node.js,express,routes,Node.js,Express,Routes,我是Node/Express的新手,在阅读文档和做一些教程时,我发现Express路由器是以两种不同的方式初始化的。他们之间有什么有意义的变化吗 方法1: const express = require('express'); const router = express.Router(); router.get('/', (req, res) => { res.json({'Title': 'HELLO!'}); }); module.exports = router; 方法2:
const express = require('express');
const router = express.Router();
router.get('/', (req, res) => {
res.json({'Title': 'HELLO!'});
});
module.exports = router;
方法2:
const { Router } = require('express');
const router = Router ();
router.get('/', (req, res) => {
res.json({'Title': 'HELLO!'});
});
module.exports = router;
方法1:
它需要express模块,然后调用Router()函数
方法2:
此功能在Javascript中称为对象分解。我们基本上是从express对象中分离特定的函数(路由器)
有关详细信息,请参阅。方法1:代码首先导入Express应用程序对象,然后使用它获取路由器对象 方法2:这里使用ES6对象销毁从单个模块导入多个子模块(在本例中为单个)
方法2是当您需要使用一行代码从单个模块导入多个子模块时使用的方法。否则,您必须包含整个对象或单独导入每个子模块 谢谢。这是否会对任何类型的性能/速度产生影响?考虑到在第一种情况下,我调用整个对象,在第二种情况下,我仅从理论上导入一个模块,这将提高性能,因为您只从对象中获取所需的内容。但这无疑提高了可读性,并使代码干净且具有声明性。