Javascript 在windows托管站点上运行basic node.js

Javascript 在windows托管站点上运行basic node.js,javascript,windows,node.js,express,hosting,Javascript,Windows,Node.js,Express,Hosting,我需要一些建议,让一个基本的express应用程序在我的网站上工作。该网站位于Arvixe.com windows hosting上。我可以在我的本地主机上运行代码,它可以工作,但一旦我将其移动到Arvixe站点,它就会给我一个404错误-找不到文件或目录 在我的站点的根目录中有一个名为node_modules的文件夹,其中包含express。我还有一个app.js文件和一个web.config文件 这是web.config文件: <configuration> <syst

我需要一些建议,让一个基本的express应用程序在我的网站上工作。该网站位于Arvixe.com windows hosting上。我可以在我的本地主机上运行代码,它可以工作,但一旦我将其移动到Arvixe站点,它就会给我一个404错误-找不到文件或目录

在我的站点的根目录中有一个名为node_modules的文件夹,其中包含express。我还有一个app.js文件和一个web.config文件

这是web.config文件:

<configuration>
  <system.webServer>
    <handlers>
            <add name="iisnode" path="app.js" verb="*" modules="iisnode" />
    </handlers>
    <defaultDocument enabled="true">
        <files>
            <add value="app.js" />
        </files>
    </defaultDocument>
  </system.webServer>
</configuration>
localhost版本和此版本之间的唯一区别是有一个web.config文件,并且在app.js中我更改了app.listen以使用端口,而不是本地端口号。我访问的唯一文件应该是app.js和express,它们都在那里


我对node.js和express非常陌生。我是否遗漏了一些关于这些文件之间如何通信的信息,或者是发生了什么事情阻止了我的站点运行?有没有一种简单的方法可以在将来调试类似的东西

我找到了一个办法让它发挥作用。我已将此代码添加到我的web.config:

   <rewrite>
      <rules>
        <rule name="/">
          <match url="/*" />
          <action type="Rewrite" url="app.js" />
        </rule>
      </rules>
    </rewrite> 


我很惊讶这是必要的,因为app.js被设置为默认文档。显然,Express需要重写URL,而不是使用默认的文档标记

这是在他们的共享主机上还是你有VPS?如果是共享的,您是否必须要求他们安装它或它已经存在?节点站点位于他们共享的windows主机上。我不得不要求他们安装node。我还有一个Linux共享主机,必须自己安装。Linux版本对我来说是一个更难处理的过程,但我是一个windows用户,所以我想这是意料之中的。最后我把我的网站都换成了windows,从那以后这一直是一次很好的体验。
   <rewrite>
      <rules>
        <rule name="/">
          <match url="/*" />
          <action type="Rewrite" url="app.js" />
        </rule>
      </rules>
    </rewrite>