有没有办法可以判断快递中是否存在给定的模板?基本上我想创建特定的和后备模板,但不希望在模板本身中包含该逻辑.
if( res.templateExists( 'specific_page' ) ) {
res.render( 'specific_page' );
} else {
res.render( 'generic_page' );
}
Run Code Online (Sandbox Code Playgroud)
该specific_page
名称在基于用户的设备上运行时,语言等generatead
注意:我不需要知道如何在模板中进行字符串本地化,这是我已经拥有的.我正在寻找整个布局/模板发生变化的情况.
你可以用这个:
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);
});
Run Code Online (Sandbox Code Playgroud)
这将区分抛出的错误,因为找不到模板(在这种情况下它将呈现generic_page
),以及可能发生的任何其他错误(重新抛出).它并不完全稳定,因为它依赖于抛出的错误消息,但我认为还没有其他方法可以确定错误的类型.
归档时间: |
|
查看次数: |
2142 次 |
最近记录: |