Tag: ejs

你将如何检查在ejs为node.js未定义的属性?

在ejs模板中检查未定义的属性的最佳方法是什么? (我使用TJ Holowaychuk的node.js包 ) 例: var tpl = '<% if (foo) { %>foo defined<% } else { %>foo undefined<% } %>'; console.log(ejs.render(tpl, { locals: { bar: "baz" } })); 我希望这个渲染“foo undefined”。 它确实会抛出一个foo未定义的错误。 我知道这不是一个问题,因为这是testing中的预期行为。 有没有简单的方法来避免这种情况? 我find的唯一解决scheme是使用hasOwnProperty方法。 var tpl = '<% if (hasOwnProperty("foo")) { %>foo defined<% } else { %>foo undefined<% } %>'; console.log(ejs.render(tpl, { locals: { […]

在ExpressJS中将variables传递给JavaScript

我完全失去了这一点; 我正在使用NodeJS来获取JSON,我需要将该variables传递给我的页面,并使JavaScript使用数据。 app.get('/test', function(req, res) { res.render('testPage', { myVar: 'My Data' }); 这是我的Express代码(testing非常简单); 现在使用EJS我想收集这些我知道在页面上呈现的数据很简单 <%= myVar %> 但我需要能够收集这些数据在JavaScript(如果可能在.js文件中),但现在只是要显示在一个警报框中的variables我已经尝试 在Jade中它就像alert('!{myVar}')或!{JSON.stringify(myVar)} 。 我可以在EJS中做类似的事吗? 我不需要任何像<input type=hidden>的字段,并在javascript中使用字段的值。 如果有人可以帮助非常感激

在EJS模板(使用ExpressJS)中检查variables的存在的正确方法是什么?

在EJS的github页面上,有一个简单的例子: https : //github.com/visionmedia/ejs 例 <% if (user) { %> <h2><%= user.name %></h2> <% } %> 这似乎是检查名为用户的variables的存在,如果它存在,做一些东西。 杜,对不对? 我的问题是,如果用户variables不存在,为什么世界上会抛出一个ReferenceError? 这使得上面的例子无用。 什么是检查variables存在的适当方法? 我希望使用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 […]