0

我想将 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 上开发(它已越狱),Apple 在他们的智慧中删除了最近版本中的开发工具栏,所以我遇到了非常糟糕的警报,所以我想要一个临时的 console.log 到我的终端。

[编辑]

如果我使用 Socket I/O

我可以在后端订阅前端的“日志”事件,并将这些事件和数据发送到控制台日志。

我没有把它作为答案,因为我认为这不是最好的方法,但我认为这会起作用。

4

1 回答 1

3

I think you could expose the console.log() function in app.locals if you're using Express 3. See the documentation here.

So, where you configure your server you might have something like...

app.configure(function(){
  // some other configuration code

  app.locals.logger = function(arguments) {
    console.log(arguments);
  }

});

Which you could then access in your view like this...

script
  var log = #{logger};
  log("Hello, world!");

Which in Chrome, for example, logs "Hello, world!" to the web inspector.

于 2013-03-06T18:25:49.643 回答