Windows Azure上的node.js站点的默认根(server.js)文件

看起来像Windows Azure预计你的node.js网站应该运行:

node server.js 

有没有办法改变这个命令? 具体来说,我的应用程序的根目录是server.js index.js intead,所以我宁愿这样做:

 node index.js 

任何人都知道这是否可configuration? 即使是这样,是否通常认为不是server.js之外的任何东西?

对我来说有效的是generalhenry的build议:

在package.json中,添加:

 "scripts": { "start": "node index.js" } 

上面的解决scheme都没有为我工作。 寻找另一件事,我find了解决办法。 您必须在web.config文件中设置您的入口点,这是一个xml文件。 检查这个例子文件(你只需要用你想要的replaceserver.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> 

你在问Azure网站吗?

尝试设置

 "main": "./index.js" 

在你的package.json文件中。