ejs を使用してテンプレートにメッセージ オブジェクトを渡そうとしています。私のルートコードは次のとおりです。
app.get('/', function(req, res) {
res.render('index.ejs', {message: 'A message'});
});
私の ejs (index.ejs) ファイルには、次のものがあります。
<% if (message) { %>
<div class="alert alert-danger"><%= message %></div>
<% } %>
しかし、(だけでなく)オブジェクトをまったく渡さない場合message: ""
、次のエラーが返されます。
ReferenceError: /Users/Documents/node/views/index.ejs:13
11| <body>
12| <div class="container">
>> 13| <% if (message) { %>
14| <div class="alert alert-danger"><%= message %></div>
15| <% } %>
16| <div class="jumbotron text-center">
message is not defined
同様に、試してみif(message.length > 0)
ても同じエラーが発生します。if
ステートメントの要点は、ifmessage
が存在しない場合はスキップすることだと思いました。message
メッセージオブジェクトが渡されない場合、または毎回空のオブジェクトを渡す必要がある場合、ejs が何もレンダリングしないようにするにはどうすればよいですか?