0

node.js アプリケーションをローカルで実行すると、次のように、改行とスペースを含む適切にフォーマットされた JSON 出力が得られます。

{
  "foo": "bar",
  "asdf": "qwerty"
}

しかし、Azure の iisnode で同じコードを実行すると、次のようになります。

{"foo":"bar","asdf":"qwerty"}

機能的な違いが生じるわけではなく、後者は余分なバイトを節約することさえできますが、違いがどこから来るのかを知っておくとよいでしょう.

コードは次のとおりです。

exports.test = function(req, res){
    var result = { foo : 'bar', asdf : 'qwerty'};
    res.send(result);
}
4

1 に答える 1

0

違いは、NODE_ENV環境変数とexpressデフォルト構成」にある可能性があります:

app.defaultConfiguration = function(){
  // ...

  this.configure('development', function(){
    this.set('json spaces', 2);
  });

  // ...
};

Azure はNODE_ENV(おそらく'production') に対して異なる値を持っている必要があるため、configure()コールバックはスキップされます。

于 2013-03-11T19:08:31.963 に答える