好像Windows Azure的期待您的node.js的网站应该与运行:默认的根(server.js)文件的node.js网站上的Windows Azure
node server.js
有没有办法来改变这种命令?具体来说,我的应用程序的根是index.js
这一翻译的server.js
,所以我更喜欢它做的事:
node index.js
任何人都知道这是可配置?即使是这样,除了server.js
以外,通常认为它是不好的形式吗?
好像Windows Azure的期待您的node.js的网站应该与运行:默认的根(server.js)文件的node.js网站上的Windows Azure
node server.js
有没有办法来改变这种命令?具体来说,我的应用程序的根是index.js
这一翻译的server.js
,所以我更喜欢它做的事:
node index.js
任何人都知道这是可配置?即使是这样,除了server.js
以外,通常认为它是不好的形式吗?
什么工作对我来说是上述generalhenry的建议:
在的package.json,补充:以上为我工作
"scripts": {
"start": "node index.js"
}
您在询问Azure网站吗?
尝试设置
"main": "./index.js"
在你的package.json文件。
的解决方案都不是。寻找另一件事,我找到了解决办法。您必须在web.config文件中设置您的入口点,该文件是一个xml文件。检查此示例文件(你就必须用任何你想要更换server.js):
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="iisnode" path="server.js" verb="*" modules="iisnode"/>
</handlers>
<rewrite>
<rules>
<rule name="LogFile" patternSyntax="ECMAScript" stopProcessing="true">
<match url="iisnode"/>
</rule>
<rule name="NodeInspector" patternSyntax="ECMAScript" stopProcessing="true">
<match url="^server.js\/debug[\/]?" />
</rule>
<rule name="StaticContent">
<action type="Rewrite" url="public{{REQUEST_URI}}"/>
</rule>
<rule name="DynamicContent">
<conditions>
<add input="{{REQUEST_FILENAME}}" matchType="IsFile" negate="True"/>
</conditions>
<action type="Rewrite" url="server.js"/>
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
我可能是错的,但我怀疑他们没有运行'节点server.js'而是'NPM启动'默认为'node server.js'这就是为什么chris的答案是设置你的package.json的main。您也可以设置启动脚本,详情请参阅npmjs.org。 – generalhenry 2013-03-16 00:56:34
你有没有得到这个工作?我尝试设置一个重新定义'start'文件的package.json文件,但它看起来像Azure特意查找server.js文件,因此它不适用于我。 – martega 2013-05-03 23:16:28