10

Expressを学習しようとしていますが、アプリには、セッションオブジェクトをRequestオブジェクトからResponseオブジェクトに渡すミドルウェアがあり、ビューでアクセスできるようになっています。

app.use((req, res, next) ->
  res.locals.session = req.session
  next()
)

しかし、app.localsもビューで利用できますよね?それで、私がそうする場合も同じapp.locals.session = req.sessionですか?物の種類や用途についての慣習はありapp.localsますres.localsか?

res.render()との違いについても混乱しましたres.redirect()か?それぞれをいつ使用する必要がありますか?

読んでくれてありがとう。Expressに関連するヘルプをいただければ幸いです。

4

2 に答える 2

13

これをさらに説明するために、expressがテンプレート内で見つかった変数をどのようにレンダリングするかを示すフローチャートを見たことを覚えています。これは「Node.jsInAction 」からのものです。Express.jsについて説明している章を読むことをお勧めします。

ここに画像の説明を入力してください

于 2014-06-05T03:21:47.690 に答える
9

app.localsとres.localsは、さまざまなコンテキストで使用できます。

res.localsは、resオブジェクトがあるルートを処理する場合に使用します。そこには、appオブジェクトはありません。また、app.localsの場合はその逆です。

また、res.renderは、リクエストを処理するためにページをレンダリングします。res.redirectは、それらを別のページにリダイレクトします。

たとえば、ログインせずに/ accountにアクセスしようとした場合、メッセージをフラッシュしてres.redirect('/ login')を使用できます。

于 2012-09-26T17:09:35.597 に答える