Azure Static Web Apps
扫码查看

Azure Static Web Apps 是一个用于托管静态网站的服务。

Azure Static Web Apps

综合介绍

Azure Static Web Apps是微软推出的静态网站托管服务。它专门用于部署现代Web应用程序。这个服务能自动构建和部署静态内容。它还与GitHub等代码仓库深度集成。

开发者推送代码到仓库时,服务会自动开始部署流程。它支持流行的前端框架,包括React、Vue和Angular。服务还提供全球内容分发网络加速。这让用户能快速访问网站。

除了静态内容,它还支持服务器端API。这些API通过Azure Functions实现。开发者可以构建完整的全栈应用程序。

功能列表

  • "自动构建和部署:连接代码仓库后,每次推送自动触发部署流程"
  • 全球CDN加速:静态内容通过微软全球网络分发,提升访问速度
  • 自定义域名支持:可以绑定自己的域名并自动配置SSL证书
  • 预览环境:每个拉取请求都会生成独立的预览网站
  • 身份认证集成:内置身份验证和授权功能,支持多种登录方式
  • API集成:无缝集成Azure Functions,支持服务器端功能
  • 环境管理:支持生产、预生产和多个测试环境

使用帮助

开始使用

首先需要准备一个静态网站项目。这个项目可以是用任何前端框架构建的。还需要一个GitHub账户。代码必须托管在GitHub仓库中。

创建资源

登录Azure门户。在搜索框中输入Static Web Apps。点击创建按钮开始配置。需要选择订阅和资源组。如果没有资源组,可以新建一个。

项目配置

在项目详细信息部分,输入Web应用的名称。这个名称会成为默认域名的一部分。选择最靠近用户的地域。这样能保证最佳性能。

源代码设置

点击"使用GitHub登录"按钮。授权Azure访问GitHub账户。选择包含静态网站代码的仓库。选择合适的分支,通常是main或master。

构建配置

根据项目类型选择构建预设。如果是React项目,选择React。Vue项目选择Vue。自定义项目选择Custom。需要指定应用代码的位置。通常是根目录。

对于API,需要指定API代码的路径。如果使用Azure Functions,这里填写api文件夹路径。输出位置填写构建后文件的路径。一般是build或dist文件夹。

部署流程

完成配置后点击查看和创建。确认信息无误后点击创建。Azure开始创建静态Web应用资源。这个过程需要几分钟时间。

创建完成后,Azure会自动触发第一次构建。可以在GitHub仓库的Actions页面查看构建进度。构建成功后,网站就可以通过提供的URL访问了。

自定义域名

在Static Web App资源中,找到自定义域名选项。点击添加按钮输入你的域名。需要验证域名所有权。按照提示在DNS中添加TXT记录完成验证。

验证通过后,配置CNAME记录指向Azure提供的域名。SSL证书会自动申请和配置。整个过程可能需要几小时完成。

环境管理

每个拉取请求都会生成预览环境。这让你可以在合并前测试变更。生产环境对应主分支。还可以配置预生产环境用于最终测试。

API开发

在项目根目录创建api文件夹。在这个文件夹中创建Azure Functions。支持JavaScript、TypeScript、C#和Python。函数会自动部署并与前端集成。

前端代码通过相对路径访问API。不需要配置复杂的CORS规则。开发体验更加流畅。

产品特色

全自动的CI/CD流水线,让开发者专注于代码编写。

适用人群

  • 前端开发者:需要快速部署静态网站和单页面应用
  • 全栈开发者:需要集成前后端功能的完整解决方案
  • 初创团队:希望快速上线产品且控制成本
  • 企业团队:需要可靠的托管服务和自动化部署流程

应用场景

  • 公司官网:展示企业信息的静态网站,需要高可用性和快速访问
  • 产品文档:技术文档网站,需要版本管理和多环境部署
  • 博客系统:基于静态站点生成器的博客,需要自动化构建和部署
  • Web应用:包含前后端功能的完整应用程序,需要一体化解决方案
  • 原型演示:产品原型和概念验证,需要快速迭代和分享

常见问题

  • 这个服务支持哪些前端框架?
    支持所有主流前端框架,包括React、Vue、Angular、Svelte等,也支持静态站点生成器如Gatsby、Next.js、Hugo、Jekyll
  • 如何配置自定义域名?
    在Azure门户的Static Web App资源中,找到自定义域名选项,添加域名后按照指引配置DNS记录,SSL证书会自动配置
  • 是否支持环境变量?
    支持在构建配置中设置环境变量,这些变量在构建过程中可用,但不会暴露给客户端
  • 如何实现身份验证?
    内置身份验证功能,支持Azure Active Directory、GitHub、Twitter、Google等多种登录方式,无需额外配置
  • 是否有免费套餐?
    提供免费层级,包含每月100GB带宽和无限次构建,适合个人项目和小型应用
微信微博Email复制链接