Node.js Route不在Microsoft Azure上运行

时间:2018-05-09 06:02:18

标签: node.js azure azure-web-sites

您好我构建了一个非常基本的Node.js应用程序(没有任何框架), 我建立了一条路线。 index.html和login.html

在我的本地机器(Windows 10)上工作正常。当我从url调用它们时,两个文件index.html和login.html都显示在浏览器中。像

localhost / myapp =>加载index.html localhost / myapp / login =>加载login.html

现在我将它部署在Microsoft Azure上,现在只加载索引文件,当我尝试加载myapp.azurewebsites.net/login时,它说:您要查找的资源已被删除,名称已更改,或暂时不可用。

我有一个包含这些设置的web.config文件

<?xml version="1.0"?>
<configuration>
<system.webServer>
     <staticContent>
     <mimeMap fileExtension=".html" mimeType="text/html" />
  </staticContent>
</system.webServer>
</configuration>

请指导我如何在azure上的node.js中启用路由。没有任何框架。官方文档没有任何帮助。

感谢

3 个答案:

答案 0 :(得分:0)

尝试在web.config文件中添加以下代码,看看它是否有效。

<configuration>
<system.webServer>
    <rewrite>
      <rules>
        <rule name="Main Rule" stopProcessing="true">
                <match url=".*" />
                <conditions logicalGrouping="MatchAll">
                    <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
                    <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
                </conditions>
                <action type="Rewrite" url="/" />
            </rule>
        </rules>
    </rewrite>
</system.webServer>
</configuration>

有关此错误的详细信息,请参阅此link

答案 1 :(得分:0)

经过大量搜索,我找到了解决方案。 您需要从他们的演示项目中设置web.config文件并上传到您自己的azure项目中。     https://github.com/Azure-Samples/nodejs-docs-hello-world/archive/master.zip

答案 2 :(得分:0)

您可以使用Azure Node JS Starter Site或Node JS Empty Web App。

enter image description here

在这些项目中,您将找到在Azure中运行Node应用程序所需的正确web.config文件。