0
我在我的應用程序中使用名爲Grant的庫。之前我已經將它包含在上面鏈接的自述文件中的示例中,但是現在我需要有條件地包含它,並且我似乎無法使其工作。如何有條件地使用Express包含子應用程序?
它是如何
const grant = new Grant(grantConfig);
app.use(grant);
我已經在快遞之前完成條件中間件工作過,所以我想包括格蘭特不會是一個問題。
我怎樣努力(不工作)
const grant = new Grant(grantConfig);
app.use((req, res, next) => {
if (someBooleanVariable) {
next();
} else {
grant(req, res, next);
}
});
所以這是行不通的。我認爲這可能與Grant作爲Express的一個實例而不是普通的中間件功能有關,但我不確定。您可以看到Grant如何實施here。 Express文檔表示應該對待它,但我也可能會誤解它們。
注:我需要這個工作在每個請求的基礎上,因此中間件風格的方法。
你試過app.use(補助金);在這個else語句裏面? –
您是否真的需要在每個請求的基礎上使用它,或者您是否只需要它用於特定路由? – robertklep
當我嘗試它時,app.use(grant)不起作用。理想情況下,我需要在路線的一個子集上使用它。 –