Javascript 是否在带有express.js和lodash/下划线的模板文件中包含页脚?

Javascript 是否在带有express.js和lodash/下划线的模板文件中包含页脚?,javascript,node.js,express,underscore.js,lodash,Javascript,Node.js,Express,Underscore.js,Lodash,我有一个html文件footer.html,它存储了网站的页脚,我想在不同的页面上重复使用它。如何使用lodash/下划线将其包含在模板文件template.html中?我已经阅读了有关节点部分的文章,但我不确定模块节点部分如何在Express 4中使用渲染 var express = require('express') , app = express() , http = require('http').createServer(app) , _ = require('lodash')._

我有一个html文件
footer.html
,它存储了网站的页脚,我想在不同的页面上重复使用它。如何使用lodash/下划线将其包含在模板文件
template.html
中?我已经阅读了有关
节点部分
的文章,但我不确定模块
节点部分
如何在Express 4中使用
渲染

var express = require('express')
, app = express()
, http = require('http').createServer(app)
, _ = require('lodash')._
,cons = require('consolidate');

app.engine('html', cons.lodash);
app.set('view engine', 'html')
app.set('views', './views')

app.get('/', function(req, res){ 
   res.render('index.html', {hello: 'Welcome !'})
});
模板文件

<h1><%= hello %></h1>
<p><%= _('hello') %></p>
<% include './footer.html' %> // Can I add a footer file to the template?

//我可以向模板添加页脚文件吗?
是的,但您需要后退一点,并将页脚添加为有效负载的一部分

var footerHTML;
fs.readFile("./footer.html", function(err, data){
    if (err) return console.error(err);
    footerHTML = data;
})

app.get('/', function(req, res){
    res.render('index.html', {hello: 'Welcome !', footer: footerHTML)
});
--

注意:在pug 2.0中,将
{}
语法替换为
${}
,以便与ES6模板字符串语法更加一致

<h1><%= hello %></h1>
<p><%= _('hello') %></p>
<%=footer%>
h1 ${hello}
p ${hello}
include footer