将iisnode指向嵌套在iis网站文件夹中的server.js文件

我无法让iisnode运行我的节点应用程序。 我的目录结构是

iis-site -client -server -server.js 

我怎样才能让iisnode指向一个嵌套的.js文件? 我试过这个,但它服务器server.js而不是执行它。

 <handlers> <add name="iisnode" path="server\server.js" verb="*" modules="iisnode" /> </handlers> 

 <rule name="default"> <match url="/*" /> <conditions logicalGrouping="MatchAll" trackAllCaptures="false" /> <action type="Rewrite" url="server/server.js" /> </rule> 

我最终把这个作为一个问题发布在GitHub项目上,并在那里得到了答案 。

基本上,这种方法是将.js文件保存在需要引导应用程序的.js目录的根目录下。

例如:

 <handlers> <add name="iisnode" path="iisnode.js" verb="*" modules="iisnode" /> </handlers> 

 <rule name="default"> <match url="/*" /> <conditions logicalGrouping="MatchAll" trackAllCaptures="false" /> <action type="Rewrite" url="iisnode.js" /> </rule> 

iisnode.js有一行代码: require(__dirname + '\\server\\server.js');

我挣扎了一下,这里是我的解决scheme没有任何额外的文件

处理器

 <handlers> <add name="iisnode" path="dist/index.js" verb="*" modules="iisnode"/> <!-- Remote debugging (Azure Website with git deploy): Uncomment NtvsDebugProxy handler below. Additionally copy Microsoft.NodejsTools.WebRole to 'bin' from the Remote Debug Proxy folder.--> <!--<add name="NtvsDebugProxy" path="ntvs-debug-proxy/7afabecd-23d0-4ac1-a682-c36ef59e1480" verb="*" resourceType="Unspecified" type="Microsoft.NodejsTools.Debugger.WebSocketProxy, Microsoft.NodejsTools.WebRole"/>--> </handlers> 

Rewite规则

 <rewrite> <rules> <clear/> <!-- Remote debugging (Azure Website with git deploy): Uncomment the NtvsDebugProxy rule below. --> <!--<rule name="NtvsDebugProxy" enabled="true" stopProcessing="true"> <match url="^ntvs-debug-proxy/.*"/> </rule>--> <rule name="app" enabled="true" patternSyntax="ECMAScript" stopProcessing="true"> <match url="iisnode.+" negate="true"/> <conditions logicalGrouping="MatchAll" trackAllCaptures="false"/> <action type="Rewrite" url="dist/index.js"/> </rule> </rules> 

所以你可以看到我的应用程序入口点在dist / index.js中

的Gabor