我想将console.log函数传递给Node Express中的视图,我尝试过:
res.render('index', {
"title" : 'My page',
"logger": console.log
}
我也试过这个
res.render('index', {
"title" : 'My page',
"logger": function () {
console.log(arguments);
}
}
但它总是空洞的,我错过了什么?
fwiw 这就是我在我的视图中输出它的方式
script
log = #{logger};
我在移动时开发我的iPad 2(它已经越狱了),苹果凭借他们的智慧移除了最近版本中的开发工具栏,所以我遇到的警报很糟糕所以我想要一个临时的console.log到我的终端而不是。
[编辑]
我可以在后端订阅前端的“log”事件,并将这些事件和数据发送到控制台日志。
我没有把这个作为答案,因为我不认为这是最好的方法,但我认为这会有效。
答案 0 :(得分:3)
如果您使用Express 3,我认为您可以在app.locals中公开console.log()函数。请参阅文档here。
因此,在配置服务器的地方,您可能会有类似......
的内容app.configure(function(){
// some other configuration code
app.locals.logger = function(arguments) {
console.log(arguments);
}
});
然后你可以在你的视图中访问这个...
script
var log = #{logger};
log("Hello, world!");
例如,在Chrome中,记录“Hello,world!”到网络检查员。