2

我对节点编程有点陌生,并试图遵循一些教程。它们几乎都是为 2.5.x 编写的。我已经阅读了Express 的迁移页面,但是对于新手来说没有明确的工作示例。我的问题是针对以下领域:

  • req.flash()
  • 布局和局部
  • 动态助手

对于“旧方式”与“新方式”示例,而不仅仅是片段或其他模块,以使旧版本代码仍然有效,因为我想使用新的 Express 工作方式。提前致谢。

4

1 回答 1

5

正如您已经找到了旧方式的示例,这里是“新”方式:

'新' 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 %>

“新”动态助手:

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

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