[英]Point iisnode at server.js file nested in folder in an iis website
我无法让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');
我有点挣扎,这是我的解决方案,没有任何额外的文件
处理器
<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>
重新规则
<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
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.