13
(ExpressJSを使用して)EJSテンプレート内の変数の存在を確認する適切な方法は何ですか?
EJS githubページには、https://github.com/visionmedia/ejsの簡単な例が1つだけあり ます。 例 <% if (user) { %> <h2><%= user.name %></h2> <% } %> これは、userという名前の変数の存在を確認しているようです。存在する場合は、何らかの処理を行います。えっ? 私の質問は、ユーザー変数が存在しない場合に、なぜNodeがReferenceErrorをスローするのかということです。これにより、上記の例が役に立たなくなります。変数の存在を確認する適切な方法は何ですか?try / catchメカニズムを使用して、そのReferenceErrorを取得することを期待していますか? ReferenceError: user is not defined at IncomingMessage.anonymous (eval at <anonymous> (/usr/local/lib/node/.npm/ejs/0.3.1/package/lib/ejs.js:140:12)) at IncomingMessage.<anonymous> (/usr/local/lib/node/.npm/ejs/0.3.1/package/lib/ejs.js:142:15) at Object.render (/usr/local/lib/node/.npm/ejs/0.3.1/package/lib/ejs.js:177:13) at ServerResponse.render (/usr/local/lib/node/.npm/express/1.0.7/package/lib/express/view.js:334:22) at Object.<anonymous> (/Users/me/Dropbox/Projects/myproject/server.js:188:9) at param (/usr/local/lib/node/.npm/connect/0.5.10/package/lib/connect/middleware/router.js:146:21) at pass (/usr/local/lib/node/.npm/connect/0.5.10/package/lib/connect/middleware/router.js:162:10) at /usr/local/lib/node/.npm/connect/0.5.10/package/lib/connect/middleware/router.js:152:27 …