使用iisnode,并且每当我更改.js
或.hbs (handlebars)
文件时,Node.js应用程序都不会重新启动以更新更改。但是,如果我更改了web.config
文件,则它会更新。
这基本上是我在web.config
文件中所拥有的。我也将iisnode.yml文件更新为相同的文件(但我不明白为什么我不能只让web.config文件执行所有操作...为什么要拥有iisnode.yml?)
<configuration>
<system.webServer>
....
<!-- rewrite rules and handler appears here --->
<iisnode
node_env="%node_env%"
nodeProcessCountPerApplication="1"
maxConcurrentRequestsPerProcess="1024"
maxNamedPipeConnectionRetry="100"
namedPipeConnectionRetryDelay="250"
maxNamedPipeConnectionPoolSize="512"
maxNamedPipePooledConnectionAge="30000"
asyncCompletionThreadCount="0"
initialRequestBufferSize="4096"
maxRequestBufferSize="65536"
watchedFiles="*;*.hbs;web.config;*.js" <!-- told it to watch everything -->
uncFileChangesPollingInterval="5" <!--- very low polling interval -->
gracefulShutdownTimeout="60000"
loggingEnabled="true"
logDirectory="iisnode"
debuggingEnabled="true"
debugHeaderEnabled="false"
debuggerPortRange="5058-6058"
debuggerPathSegment="debug"
maxLogFileSizeInKB="128"
maxTotalLogFileSizeInKB="1024"
maxLogFiles="20"
devErrorsEnabled="true"
flushResponse="false"
enableXFF="false"
promoteServerVars=""
configOverrides="iisnode.yml"
/>
</system.webServer>
</configuration>
为什么iisnode仅在更新web.config
时而不刷新任何其他文件时才刷新node.js服务器?
基于白兰度的评论,我通过执行此操作将其修复:
watchedFiles="*.js;*.hbs;web.config;routes\*;views\*;controllers\*;models\*"
该行指定您要iisnode监视文件更改的根文件夹以外的其他文件夹。