azure 静态网页“Oryx 构建了应用程序文件夹,但无法确定应用程序工件的位置。请指定应用程序工件位置”

问题描述 投票:0回答:3

我在github中有一个简单的index.html。我在 azure 中创建了一个静态 Web 应用程序并将其指向 git hub。它运行某种构建管道,并且我的页面正常运行。

现在我添加了更多页面,但是当我推送到 git 时,静态 Web 应用程序构建失败并显示:

Oryx 构建了应用程序文件夹,但无法确定应用程序工件的位置。请指定应用程序工件位置。

很多人都有同样的问题,一般建议是设置api_location,但我找不到指定在哪里。

我找不到任何构建脚本,而且我当然没有足够的知识从头开始编写一个脚本。

构建脚本大概只需要对 git 文件进行简单的签出。

更新

在寻找解决方案时,我发现了一个隐藏在 .github 下的 yaml 文件。

它具有以下特点:

      app_location: "/" # App source code path
      api_location: "" # Api source code path - optional
      output_location: "" # Built app content directory - optional

这并没有真正的帮助,因为它并不明显什么是“应用程序工件”,也不知道它应该去哪里。

有什么建议吗?

azure-static-web-app
3个回答
8
投票

解决方案是找到 Azure 创建的隐藏 yaml 构建文件,并添加以下行:

     skip_app_build: true

构建文件位于 .github/workflows/ 中,名称类似于 azure-static-web-apps-happy-banana-0ed8b4dxx.yml

不知道为什么默认情况下没有此设置 - 大多数静态网站只是静态网站。 据我所知,静态 Web 应用程序中不能有 php 或其他服务器端代码。


1
投票

我在将 React SPA 部署为静态 Web 应用程序时遇到了同样的问题。我使用 Nx 作为构建工具,因此我必须将 is_static_export 设置为 true 并定义 output_location:

is_static_export: true
output_location: '/dist/apps/myapp/exported'

here所述,在使用自定义构建管道时使用is_static_export。明确定义了 output_location 以避免 Oryx 感到困惑。


0
投票

我将

appLocation
设置为公开,其中 index.html 文件存在于我的存储库中。这对我有用。

# For more information regarding Static Web App workflow configurations, please visit: https://aka.ms/swaworkflowconfig
                  app_location: "public" # App source code path
                  api_location: "" # Api source code path - optional
                  output_location: "" # Built app content directory - optional
                  ###### End of Repository/Build Configurations ######
最新问题
© www.soinside.com 2019 - 2024. All rights reserved.