8

似乎 Windows Azure 期望您的 node.js 站点应该运行:

node server.js

有没有办法改变这个命令?具体来说,我的应用程序的根不是index.jsserver.js所以我更喜欢它:

node index.js

有谁知道这是否可以配置?即使是这样,除了 之外,它通常被认为是不好的形式server.js吗?

4

3 回答 3

14

对我有用的是上面generalhenry的建议:

在 package.json 中,添加:

"scripts": {
    "start": "node index.js"
}
于 2013-03-17T01:02:03.213 回答
8

上述解决方案都不适合我。寻找另一件事,我找到了解决方案。您必须在 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>
于 2013-06-14T10:00:19.610 回答
0

You are asking about Azure Web Sites?

Try to set

"main": "./index.js"

in your package.json file.

于 2013-03-15T19:29:23.453 回答