我对Keystone和IISnode都很新,所以请耐心等待。我已经成功地使用IISnode运行快速项目,我可以使用节点运行keystone.js项目,但合并这两个项目一直很困难。当我同时运行ETW跟踪时,在关闭它之前,我多次尝试“iisnode计划重试命令管道连接到node.exe进程”。我已经尝试将iisnode直接挂钩到keystone index.js文件(参见下面的web.config)以及项目根目录下的keystone.js文件。
<handlers>
<add name="iisnode" path="node_modules/keystone/index.js" verb="*" modules="iisnode" />
</handlers>
我的预感是我需要像往常一样将它连接到keystone.js文件来启动项目但是你通常需要添加一个'keystone'参数,我不太确定我怎么做用iisnode做到这一点。谁能帮我吗?
答案 0 :(得分:0)
web.config
处理程序路径应设置为应用程序的入口点,而不是node_modules\keystone\index.js
。如果您使用了keystone Yoeman
生成器,则入口点是应用根文件夹中的keystone.js
文件。
<configuration>
<system.webServer>
<handlers>
<add name="iisnode" path="keystone.js" verb="*" modules="iisnode" />
</handlers>
...
</system.webServer>
</configuration>
答案 1 :(得分:-1)
我有更详细的说明如何在IIS上设置keystone.js。 http://www.dakehe.info/blog/post/deploy-keystonejs-node-cms-at-iis
<configuration>
<system.webServer>
<handlers>
<add name="iisnode" path="keystone.js" verb="*" modules="iisnode" />
</handlers>
<defaultDocument enabled="true">
<files>
<add value="keystone.js" />
</files>
</defaultDocument>
<rewrite>
<rules>
<rule name="Catch All">
<match url="/*" />
<conditions>
<add input="{PATH_INFO}" pattern=".+\.js\/debug\/?" negate="true" />
</conditions>
<action type="Rewrite" url="keystone.js" />
</rule>
</rules>
</rewrite>
<directoryBrowse enabled="false" />
<iisnode node_env="production" loggingEnabled="true" debuggingEnabled="true" devErrorsEnabled="true" />
</system.webServer>
</configuration>