快递,检查模板是否存在
有一种方法,我可以告诉如果一个给定的模板存在快递? 基本上我想创build特定和回退模板,但不希望在模板本身包含该逻辑。
if( res.templateExists( 'specific_page' ) ) { res.render( 'specific_page' ); } else { res.render( 'generic_page' ); }
specific_page
名称是在运行时基于用户设备,语言等生成的。
注:我不需要知道如何在模板中进行string本地化,我已经有了。 我正在寻找整个布局/模板更改的情况。
你可以使用这个:
res.render('specific_page', function(err, html) { if (err) { if (err.message.indexOf('Failed to lookup view') !== -1) { return res.render('generic_page'); } throw err; } res.send(html); });
这将区分由于无法find模板而引发的错误(在这种情况下,它将呈现generic_page
),以及可能发生的任何其他错误(重新抛出)。 它不是完全稳定的,因为它依赖于正在抛出的错误消息,但我不认为有任何其他方式来确定错误的types。
- Node.js和密码安全性:三个问题
- node.js表示不显示应用程序的模板
- 如何预装MongoDB文档?
- “这个”在构造之后丢失了? (TS /节点/expression)
- 如何处理来自app.js的Express 4 / nodejs中的get / post从窗体传递数据到显示结果的新页面
- 在Webstorm中一次性debuggingAngularJS和NodeJS(没有CORS)
- 如何保护nodejs中的公共dynamic文件夹
- 为什么每个请求发送多个响应会使NodeJS服务器崩溃?
- 使用node和express服务获取(/ foo /:bar)请求,当res.render(模板)时,模板中的所有相对链接都是相对于/ foo而不是/