2013-03-15 16 views
7
Windows Azure gibi görünüyor

senin node.js sitesi ile çalışması gerektiğini beklediğini Azure üzerinde node.js site için dosya ? Özellikle, benim uygulamanın kök server.js ait index.js intead, bu yüzden yaptım tercih ederim: Bu yapılandırılabilir iseStandart kökü (server.js) pencereler

node index.js 

bilen var mı? Ve eğer olsa bile, genellikle server.js'dan başka birşeye sahip olmak için kötü bir form sayılır mı?

+4

Ben yanlış olabilir, ama onlar düğüm server.js' 'Kaçmıyoruz şüpheli ziyade' npm başlangıç 'node server.js' için varsayılan değer budur. Bu nedenle chris'in cevabı paketinizin ana kısmını belirlemektir. Başlangıç ​​komut dosyasını da ayarlayabilirsiniz, ayrıntılar için bkz. Npmjs.org. – generalhenry

+0

Bunu hiç işe aldınız mı? 'Start' dosyasını yeniden tanımlayan bir package.json dosyası oluşturmayı denedim, ancak Azure'ın özellikle bir server.js dosyası aradığını ve bu yüzden benim için çalışmadığını düşünüyorum. – martega

cevap

13

yukarıdaki generalhenry Bey oldu çözümlerinin

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

Azure Web Sitelerini mi soruyorsunuz?

sizin package.json dosyasında

"main": "./index.js" 

ayarlamak için deneyin. package.json olarak

ekleyin: benim için çalıştı Ne

6

Yok benim için çalıştı yukarıda. Başka bir şey ararken, çözümü buldum. Giriş noktanızı bir xml dosyası olan web.config dosyasında ayarlamanız gerekir. Bu örnek dosyasını kontrol edin (sadece istediğini ile server.js değiştirmek zorunda):

<?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>