我知道使用新的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