如何创建简单的静态 Azure Web 应用程序

How to create simple static azure web app

我想在 Azure Web Apps 上创建一个简单的静态网站。我不需要任何 VS 或 PowerShell,所以我刚刚将我的 Azure Web App 连接到我的 OneDrive 帐户。我只想编辑我的本地文件并在现场查看它们。

我创建了新的网络应用程序,将它连接到我的 OneDrive 帐户,这一步没问题,它在我的 OneDrive 中创建了 apps/Azure Web Apps/""app name"" 文件夹,所以我放了一些html/css 文件在那里。 Web App已同步;但是,我无法打开任何 html 文件(404 无法获取资源 index.html)。

我 FTP-ed 网站,我发现我的 Web.Config 文件中有以下元素:

<rule name="StaticContent">
  <action url="public{REQUEST_URI}" type="Rewrite"/>
</rule>

好的,所以默认情况下它假定静态内容将位于 "public" 文件夹中,因此我在我的 OneDrive 中创建了 "public" 文件夹并将 html 文件移动到那里。我已经通过浏览器在我的站点 url 上打开了 html 文件,并且显示成功!!!

现在,我已经在 "public" 文件夹的子文件夹中复制了一些其他 html/css 文件,但我无法打开它们。 Http请求到“"site"”/somefolder/file.html “"site"”/somefolder/file.css returns 404.

似乎 StaticContent 规则不匹配子文件夹。

我可以继续破解并修改 iisnode 重写规则,但我是否遗漏了什么?

我只想连接到我的 OneDrive 或 Dropbox 帐户的简单静态站点,没有 VS,没有电源 shell,没有自定义。如果您使用的是简单用例,这是否可能是一个雷区?有没有我没找到的教程或设置?

实际上比您尝试的要简单得多。

正如 CSharpRocks 已经在评论中建议的那样,您可以将静态 HTML 文件和资源文件放入根文件夹中。但是,您确实说过要使用您的 OneDrive 帐户。

诀窍是在 Azure 上设置 OneDrive 帐户后识别源位置。看起来您最初已经尝试过了,但您似乎也将文件移动到了不同的 "public" 位置。

澄清一下,这是我执行的步骤。

  1. 在您的 Web App 设置边栏选项卡中,单击持续部署到 select OneDrive,进行身份验证并选择名称,例如schtml5.
  2. 在您的 OneDrive 帐户中,找到源位置,例如/Apps/Azure 网页 Apps/schtml5/
  3. 将您的静态文件放入上述 OneDrive 位置。

由于您已经设置了持续部署(从第 1 步开始),因此每次更新 OneDrive 文件夹(从第 2 步开始)时,您的网站都应该自动更新。确保在上传任何已存在文件的更新版本时选择替换文件。

但是您还提到您有一个 Web.config 文件。由于您只有静态文件,因此不需要此配置文件。删除 Azure 中的 Web.config 文件。您可以使用 FTP 访问您的“/site/wwwroot”文件夹以删除该文件。确保您没有在 OneDrive 中包含配置文件。

希望对您有所帮助! :-)

下面是我的 Azure 门户和 OneDrive 的屏幕截图:

在 MS Build 2020 中,Microsoft 宣布支持托管 Static Web Apps,它允许您构建 JavaScript Web 应用程序,这些应用程序会根据 GitHub 中所做的更改自动发布。

这个新选项非常适合静态网站生成器,例如 Hugo、 Jekyll 和 Hexo 或使用框架的开发人员 Angular,Vue 和 React 并寻求一个简单的接口来部署 单页应用程序所需的云资源。

这是一个 example 入门。