3

動的ヘルパー関数を使用して res.render を介して渡す以外に、jade テンプレート ファイルでセッション変数を使用する代替手段はありますか? dynamichelpers メソッドを使用すると、非推奨であるためエラーが表示されます。助けてください

app.use(function(req, res, next){
            res.locals.user = "xxxx";
            next(); 
        }); 

app.configure 関数内の app.js でこのコードを使用しました。しかし、それでも私は自分のビューで変数 user を使用できませんでした。追加のパッケージやその他のコードをインストールする必要がありますか?

4

1 に答える 1

1

このコードは機能するはずです。たとえば、実稼働システムの 1 つでほぼ同じコードを使用しています。

app.use(function (req, res, next) {
    app.locals.token = req.session._csrf;
    app.locals.user = req.user;
    ...
    next();
});

このコードが req.locals.user を設定した後であることを確認する必要があります。たとえば、Passport を使用している場合、初期化とセッション コードを実行した後、実際にリクエストを処理してレンダリングする前です。

于 2013-04-02T19:07:23.567 に答える