将Express 2.0升级到3.0项目

bas*_*eps 2 node.js express

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

  • req.flash()
  • 布局和部分
  • dynamicHelpers

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

Pat*_*ick 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>
<% } %>
Run Code Online (Sandbox Code Playgroud)

'新部分':

// install
npm install express-partials

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

// usage
<%- body %>
Run Code Online (Sandbox Code Playgroud)

'新'dynamicHelpers:

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

// usage
<%= user %>
Run Code Online (Sandbox Code Playgroud)