3

我希望利用 Azure 静态应用程序来托管基于角度的 SPA 应用程序,对于这个应用程序,我有一个托管在 Azure App Service 上的 REST API。根据我对包括 Microsoft 文档在内的所有示例的分析,我发现 Azure Function App 用于托管 API,而我的情况并非如此。

谁能帮我获取一些示例,其中包括托管在 Azure App Service 上的 API,或者可能托管在 AWS、GCP 等其他云提供商上

4

2 回答 2

0

看看这个https://stackoverflow.com/a/70675328/6727650

我在 AngularJS 应用程序中遇到了一个错误,它很简单,但使用了指令。决议如下。

在 repo 的根目录中创建一个文件staticwebapp.config.json并添加以下配置:

{
  "globalHeaders": {
    "Access-Control-Allow-Origin": "*",
    "Access-Control-Allow-Methods": "GET, OPTIONS"
  }
}

发布您的应用程序并重新测试。成功解决!下面我的AngularJS是如何项目到项目的

在此处输入图像描述

于 2022-01-12T01:33:05.507 回答
0

您在这里有几个选项,选择一个是您需要自己做的事情。最后,无论 API 在哪里运行,它都只是您想要从静态 Web 应用程序连接到的 API。因此,如果您正确设置了 CORS,您可以将 API 发布到任何地方(只要它可以访问 Internet)并从您的前端连接到它。

这里有一些要考虑的事情:

CORS

跨域资源共享(CORS) 是一种基于 HTTP 标头的机制,它允许服务器指示除其自身之外的任何来源(域、方案或端口),浏览器应允许从中加载资源。CORS 还依赖于一种机制,浏览器通过该机制向托管跨域资源的服务器发出“预检”请求,以检查服务器是否允许实际请求。在该预检中,浏览器发送指示 HTTP 方法的标头和将在实际请求中使用的标头。

更多信息:跨域资源共享 (CORS)

设置 CORS,以便您的静态托管网站可以访问您在其他地方运行的 API。使用静态 Web 应用程序时,这是为您管理的。

静态网站托管(Azure 存储)

您可以直接从通用 V2 或 BlockBlobStorage 帐户中的容器提供静态内容(HTML、CSS、JavaScript 和图像文件)。

详细信息:在 Azure 存储中托管静态网站

这是来自存储帐户的静态网站托管,与静态 Web 应用程序不同(见下文)。在这种情况下,您将网站的静态资产托管在存储帐户中。如果需要证书、自定义域等,则需要添加其他 Azure 资源,例如 CDN。使用静态 Web 应用程序时,这是为您管理的。

静态网页应用

使用静态 Web 应用程序,静态资产与传统的 Web 服务器分离,而是由分布在世界各地的点提供服务。由于文件在物理上更接近最终用户,因此这种分布使文件服务速度更快。此外,API 端点使用无服务器架构托管,这避免了对完整后端服务器的需求。

详细信息:什么是 Azure 静态 Web 应用?

但是,您可以选择仅使用 Azure 静态 Web 应用程序的静态资产部分,并让您的 API 在其他地方运行。

教程

就教程而言:您可能会发现这个很有趣:在 Azure 应用服务中使用 CORS 托管 RESTful API

Azure 应用服务提供高度可扩展的自我修补 Web 托管服务。此外,应用服务内置了对 RESTful API 的跨域资源共享 (CORS) 的支持。本教程展示了如何将 ASP.NET Core API 应用部署到具有 CORS 支持的应用服务。您使用命令行工具配置应用程序并使用 Git 部署应用程序。

于 2021-11-03T09:31:23.060 回答