2017-11-17 6 views
-1
私は、ブラウザ上のURLを打つコマンド node sample.js

ノードJSコンソールコードが実行される2回

を実行した後、簡単なノードのjsコード

var http = require('http'); 

http.createServer(function(req, res) { 
    res.writeHead(200, {'Content-Type':'text/plain'}); 
    res.end('Hello Node JS'); 
    console.log('printing the message'); 
}).listen(8080); 

以下を実行しています

​​

私は取得していますコマンドプロンプトでコンソールログステートメントを2回実行します。printing the message

任意の提案

EDIT:

が興味深いことに、他のブラウザすなわちFirefoxは、IEなしfavicon.icoを要求がネットワークタブとコンソールメッセージについて説明する上でチェックした後、一度だけ印刷されます。

私が理解できるように、expressモジュールを使用すると、一般的なWebアプリケーション

答えて

0

で要求を処理するためのより良い選択肢である要求が行われているかを調べるには、ブラウザのデベロッパーコンソールのネットワークエリアをご確認ください。私はあなたが2が表示されます想像:

  • GET /
  • GET /favicon.ico

HTTPサーバーコンソールに印刷することにより、すべての要求に応答するようにコーディングされています。 2つの要求がある場合、2つのコンソールメッセージが表示されます。

+0

ありがとうございます、あなたは正しいですが、この動作を修正する方法はありますか?私はコンソール・ステートメントを要求時に一度だけ実行したいからです。 – Ankit

+2

あなたのブラウザは2つの要求をしています。あなたのサーバーは、 "パスに関係なくすべての要求に応じて、コンソールに印刷"と言います。それはあなたが何をするかを正確にしています。状況によってはメッセージを印刷したいが、他のものではない場合は、そのロジックをサーバーに追加する必要があります。 –

関連する問題