如果模板存在,如何自动处理获取请求(使用node.js + express)

时间:2014-02-07 14:28:30

标签: node.js express ejs

我正在使用带有express(和EJS作为模板语言)的node.js,并且想知道如果模板目录中存在模板,是否有一种简单的方法可以自动处理与给定路径匹配的服务页面。 / p>

例如:

app.get('/subdir/:pagename', function(req, res, next) {
    // Automatically & securely load 'pagename' only if 
    // '/subdir/pagename.ejs' exists in my template dir
    res.render(subdir/pagename);
});

我知道我可以通过从页面名称中删除不是A-z0-9-_的所有内容然后检查文件是否存在(并且如果不存在则提供404)来为此自己编写安全处理程序但很想知道node.js中是否有更好的方法,而不是写一些样板来处理它。

注意:我已经以这种方式提供静态页面,这些页面不是静态的唯一原因是它们使用布局系统为它们提供一个公共的页眉+页脚。

很乐意接受“不,没有。”作为一个答案,如果有任何快递专家或任何人已经调查过这个!

1 个答案:

答案 0 :(得分:1)

从一开始就使用express - 对不起,答案是否定的。 TJ之所以这样做是有充分理由的,因为此功能特定于您的用例并且不属于框架。您可以查看是否有人在npm中为此功能编写了一个模块,但是如您所知,它不是很难推出自己的模块。

快乐黑客! =)