3

我希望能够在我的 EJS 模板中使用 Underscore.js,如下所示:

<% _.each(articles, function(article){ %>
    <section>
      <h2><%= title %></h2>
      <%= body %>
    </section>
    <hr/>
<% }) %>

我可以像这样为每条路线注入它......

var _ = require('underscore');
exports.index = function(req, res){
    res.render('index', { _: _, articles: app.allArticles() });
};

但这很乏味并且容易出现人为错误。是否有一个通用的解决方案,始终为所有视图注入它?

4

1 回答 1

6

你可以用 app.locals做到这一点。

var _ = require('underscore');
var express = require('express');
var app = express();
app.locals._ = _;
// some code
app.listen(3000);
于 2012-11-19T01:34:02.897 回答