2

私はノードプログラミングにやや慣れておらず、いくつかのチュートリアルに従おうとしています。それらはほとんどすべて 2.5.x 用に書かれています。Express の移行ページを読みましたが、初心者向けの明確な作業例はありません。私の質問は、次の領域に対処することです。

  • req.flash()
  • レイアウトとパーシャル
  • 動的ヘルパー

「古い方法」と「新しい方法」の例については、スニペットや追加モジュールだけでなく、古いバージョンのコードを引き続き機能させるため、Express を使用する新しいスタイルで作業したいと考えています。前もって感謝します。

4

1 に答える 1

5

すでに古い方法の例を見つけたので、ここに「新しい」方法があります:

'new' req.flash:

// insert in app.js as middleware, after express.static
app.use(function(req, res, next) {
  var msgs = req.session.messages || [];
  res.locals({
    messages: msgs,
    hasMessages: !! msgs.length
  });
  req.session.messages = [];
  next();
});

// save a message
res.message('error', 'message');

// output
<% if (hasMessages) { %>
  <ul id="messages">
    <% messages.forEach(function(msg){ %>
      <li class="<%= msg.type %>"><%= msg.msg %></li>
    <% }) %>
  </ul>
<% } %>

「新しいパーシャル」:

// install
npm install express-partials

// app.js
var partials = require('express-partials');
app.use(partials());

// usage
<%- body %>

「新しい」dynamicHelpers:

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

// usage
<%= user %>
于 2012-09-01T20:32:26.837 に答える