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は彼らの知恵で最近のバージョンの開発ツールバーを削除します。

[編集]

ソケット I/O を使用した場合

バックエンドでフロントエンドの「ログ」イベントをサブスクライブし、これらのイベントとデータをコンソール ログに出力できます。

私はそれが最善の方法だとは思わないので、これを答えとして入れていませんが、これはうまくいくと思います。

4

1 に答える 1

3

Express 3 を使用している場合は、app.locals で console.log() 関数を公開できると思います。こちらのドキュメントを参照してください

したがって、サーバーを構成する場所には、次のようなものがあるかもしれません...

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!」をログに記録します。ウェブインスペクタに。

于 2013-03-06T18:25:49.643 に答える