我有一些我想提供的文档页面。我不想编写类似下面的内容,而是想基本上将它们全部提供服务,而不为每个页面编写此代码:
jade.renderFile("/documentation/gettingStarted", {}, function(err, str) {
if(err) throw err;
response.send(str);
});
我还想在这些页面的底部有一个简单的“下一页”,顺序在以下数组中定义:
var pages = ["installation", "gettingStarted"];
我坚持的部分是迭代数组中的每个页面app.get
:
for(var i = 0; i < pages.length; i++) {
var pagePath = "documentation/" + pages[i];
app.get("/" + pagePath, function(request, response) {
jade.renderFile(pagePath + ".jade", {}, function(err, str) {
if(err) throw err;
response.send(str);
});
});
}
有了上面的块,我希望它会为以下请求提供页面服务:
/documentation/installation
/documentation/gettingStarted
它适用于一个页面,但由于jade.renderFile(...)
在 GET 上调用,它只会使用初始化留下的变量,这意味着两个页面将只返回最后一页(gettingStarted),因为pagePath
两个请求都将保持相同。
反正有动态服务一堆文件吗?是否需要app.get
为每个单独的页面进行调用?