我希望能够在我的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() });
};
但这很乏味且容易出现人为错误。是否有一个通用的解决方案,一直为所有视图注入它?
答案 0 :(得分:6)
您可以使用app.locals执行此操作。
var _ = require('underscore');
var express = require('express');
var app = express();
app.locals._ = _;
// some code
app.listen(3000);