我想在Express模板呈現之前(當res.render被調用時)掛鉤到部件中,以便我可以執行諸如從res.
到res.locals.
之間分配適當的東西,使其可用於模板。例如,做res.locals.user = res.user
。如何創建在res.render(模板呈現)之前運行的Express中間件?
標準的中間件不夠好,因爲它在一切之前運行,所以在這種情況下user
將不可用。現在我必須分別在每個路由功能中執行此操作。
res.locals.user = res.user;
res.render('template.html', context);
此外,在這一點上的掛鉤將是東西像國際化等有用。
不同意!一箇中間件對此很有幫助,中間件有它們的順序,並不是所有的中間件都運行每個請求,例如:將'express.static''移動到上面將防止較低的中間件運行。 – damphat
您能否舉個例子,'express.static'聽起來很有趣,但我不確定您的意思,謝謝。 – user779159