【发布时间】:2014-06-04 20:45:53
【问题描述】:
我最近开始使用 node.js 进行开发,到目前为止,我已经掌握了基础知识(路由、身份验证、视图等)。我现在想更好地组织我的模板,所以我想找到一种方法来根据参数加载部分。
在我的应用中,我有这个;
freeway.get('/login', function(req,res){
res.render('login');
});
我想要的是能够传入一个指向部分的参数并让我的视图渲染它,就像这样;
freeway.get('/login', function(req,res){
res.render('index', {reqpage: "login"});
});
我的索引视图包含我的主要模板,该模板主要由硬编码的部分组成(尽管有些有一些显示逻辑,例如用户登录时的用户特定元素)。我想进一步扩展它并动态地将部分从我的应用程序传递到索引视图,而不是有几个基本上重复的模板,内容只有轻微的变化。
我尝试了以下但没有成功;
1) <%= reqpage %>
2) <% include reqpage %>
3)<% include <%= reqpage %> %>
在任何情况下,它们要么导致应用程序引发错误(暗示未找到部分),要么将路径呈现为字符串。我什至尝试了以下方法,希望它能将其解释为呈现部分的代码,但可惜没有这样的运气;
res.render('index', {reqpage: "<% include login %>"});
有什么想法,或者 Express + EJS 的设计根本没有考虑到这一点?
【问题讨论】:
-
已经有一个issue 与此有关。 cmets中有一些解决方案。