issnode+IISを使ってNodeJs Serverの4を信託します。Debugをサポートします。

2811 ワード

これらの文章は一連のものです。
  •  issnode+IISを使ってNodeJs Serverの一つを管理します。インストール編
  •  issnode+IISを使ってNodeJs Serverの2を信託管理します:
  • を移植します。
  •  issnode+IISを使ってNodeJs Serverの3を信託管理します。Windows集積検証機能に加入します。
  •  issnode+IISを使ってNodeJs Serverの4を信託します。Debug
  • をサポートします。
    iisnodeの集積はもう完璧だと思っていましたが、今日はiisnodeのデバッグと日誌を使いたいと思いました。私の設定は基本的にこの記事を参照しています。http://tomasz.janczuk.org/2011/11/debug-nodejs-applications-on-windows.html。
    第一に、iisnode自身がdebugモードをサポートし、Chromeを使ってアクセスします。http://localhost/app.js/debugこのURLはデバッグモードに入ります。ブレークポイントを設定できます。シングルステップでデバッグできます。
    第二に、しかし、expressJsフレームのプログラムにとっては、URLが書き換えられているので、簡単な使用/debugというURLは無効です。どうすればいいですか?簡単です。web.co nfigに一言だけ書いてもいいです。
      <rule name="NodeInspector" patternSyntax="ECMAScript" stopProcessing="true">
        <match url="^app.js\/debug[\/]?" />
      </rule>
    この意味は、URLが一致する場合/app.js/debugであれば、URLの書き換えは行わないということです。私は再構成の過程で、いくつかの問題を発見しました。つまり、ブラウザに記憶機能があります。だから、web.co.nfigを修正しました。IISサーバーを再起動して、ブラウザを再起動して、Ctrl+F 5を押してキャッシュをクリアして、テストしたほうがいいです。
    第三に、サーバーがデバッグ状態に入ると自分で退出しないので、デバッグ状態を終了するために、明示的なアクセス/debug/killが必要です。
    最後に私のプロファイルを貼ります。安全のために、デバッグをデバッグに変えました。prvate、このほうが安全です。
    <configuration>
        <system.webServer>
    
            <handlers>
                <add name="iisnode" path="app.js" verb="*" modules="iisnode" />
            </handlers>
    
            <rewrite>
                <rules>
                    <clear />
    
                    <rule name="NodeInspector" patternSyntax="ECMAScript" stopProcessing="true">
                        <match url="^app.js\/debug_private[\/]?" />
                    </rule>
    
                    <rule name="mysite" enabled="true">
                        <match url="/*" />
                        <conditions logicalGrouping="MatchAll" trackAllCaptures="false" />
                        <action type="Rewrite" url="app.js" />
                    </rule>
    
                </rules>
            </rewrite>
    
            <defaultDocument>
                <files>
                    <add value="app.js" />
                </files>
            </defaultDocument>
    
            <iisnode
                promoteServerVars="AUTH_USER,AUTH_TYPE"
                debuggerPortRange="5058-6058"
                debuggerPathSegment="debug_private"
                maxNamedPipeConnectionRetry="3"
                namedPipeConnectionRetryDelay="2000"
            />
    
        </system.webServer>
        <system.web>
            <identity impersonate="false" />
        </system.web>
    </configuration>