我知道使用新的Express 4的路由器,我们可以组织多个路由路径到不同的文件是这样的:express.Router()与多个express()对象之间的区别?
// In cars.js
const router = express.Router();
router.get('/brands', function(req, res) { ... });
router.get('/models', function(req, res) { ... });
module.exports = router;
// In animals.js
const routerTwo = express.Router();
routerTwo.get('/domestic', function(req, res) { ... });
routerTwo.get('/wild', function(req, res) { ... });
module.exports = routerTwo;
// In main.js
app.use('/cars', router); // matches `/cars/brands`, `/cars/models`.
app.use('/animals', routerTwo); // matches `animals/domestic`, `animals/wild`.
现在我想知道如果我改变express.Router()
与单纯express()
两个cars.js
和animals.js
文件,它因为两者都充当express()的新实例,我们称之为mini-app。那么什么是新的express.Router()
对象?
在express.Router()
对象中显示的方法与通过多个express()
实例(如模块化路由器处理程序等)可以实现的功能并不相同吗?
我认为不必要的开销是无效的,因为在同一个项目中多少次调用require('express')'(它是从nodejs doc缓存的)无关紧要。 –
缓存使得应用程序的创建只发生一次,因此所有进一步的要求都会更快,但这并不会改变这一事实,即缓存的应用程序仍然包含很多额外的代码,您不需要它们就可以进行路由。 – nem035