【发布时间】:2011-09-19 06:45:46
【问题描述】:
我第一次在 Node.js 中开发 API,当然我需要一个测试页面,所以我决定在 Node 中也创建一个。
在想出一个加载页眉、正文和页脚文件(Jade 语法文件)并让它们成为朋友并一起渲染的好方法之后,我想出了一个递归解决方案。
function assemblePage(name,markup)
{
markup = markup || '';
if (markup=='')
fs.readFile('header.jade', function(err,data){assemblePage(name,markup+data)});
else if (name != 'footer')
fs.readFile(name+'.jade', function(err,data){assemblePage('footer',markup+data)});
else
fs.readFile('footer.jade', function(err,data){console.log(markup+data);__res.send(jade.render(markup+data))});
}
所以我只需要调用:
assemblePage('home');
这是处理事情的最佳方式吗?
【问题讨论】:
-
这是使用递归的异步的一个很好的例子,但更好的方法是让 Express 用布局和部分处理它。 expressjs.com/guide.html#view-rendering
-
感谢您的意见!看起来视图部分是要走的路。