如何创建简单的静态 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" 位置。
澄清一下,这是我执行的步骤。
- 在您的 Web App 设置边栏选项卡中,单击持续部署到 select OneDrive,进行身份验证并选择名称,例如schtml5.
- 在您的 OneDrive 帐户中,找到源位置,例如/Apps/Azure 网页 Apps/schtml5/
- 将您的静态文件放入上述 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
入门。
我想在 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" 位置。
澄清一下,这是我执行的步骤。
- 在您的 Web App 设置边栏选项卡中,单击持续部署到 select OneDrive,进行身份验证并选择名称,例如schtml5.
- 在您的 OneDrive 帐户中,找到源位置,例如/Apps/Azure 网页 Apps/schtml5/
- 将您的静态文件放入上述 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
入门。