特定のテンプレートがExpressに存在するかどうかを確認する方法はありますか?基本的には、特定のフォールバックテンプレートを作成したいが、テンプレートそのものにそのロジックを含めたくない。Express、テンプレートが存在するかどうか確認してください
if(res.templateExists('specific_page')) {
res.render('specific_page');
} else {
res.render('generic_page');
}
specific_page
名は
NOTEなど、ユーザーのデバイスに基づいて実行時に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);
});
これはテンプレートが見つからないため、スローエラーを区別します(その場合、それは代わりにgeneric_page
をレンダリングします)、およびその他のエラー、それは可能性があります:
[express.jsを使用してnode.jsのレンダリングエラー/テンプレートが見つかりませんでしたか?](http://stackoverflow.com/questions/7283896/how-can-i-catch-a-)レンダリングエラーが見つからないテンプレートをノード内のjs-using-express-js) – Wtower