问题标签 [azure-static-web-app]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
345 浏览

azure-static-web-app - 有没有办法在 Azure 静态 Web 应用中查看文件?

有没有办法使用 Azure 门户查看上传到 Azure 静态 Web 应用程序的文件?我需要检查一些项目。我可以在我的 DevOps 存储库中看到该文件,但想确认它位于 Azure 静态 Web 应用程序中的正确文件夹结构中。请注意,这不是 Azure Blob 存储。

0 投票
1 回答
215 浏览

azure - 通过 GitHub Actions (.yml) 部署 Azure 静态 Web 应用程序在私有 npm 包上出现 404 错误

我在 GitHub 中有一个 Angular 应用程序,它通过 GitHub 操作部署到 Azure 静态 Web 应用程序。

添加私有 npm 包时部署失败。

在 GitHub Docs 中,我发现了如何通过环境设置为节点脚本指定 npm 令牌,并将其与 Azure 的有关自定义工作流文件的文档结合起来,这让我尝试了这个(以及它的一些变体):

我读过的带有 NODE_AUTH_TOKEN 的最后一行将生成一个 .npmrc 文件来验证进程。我有一个名为 NPM_TOKEN 的 GitHub 机密,其中包含我在 npm 中生成的令牌,选择“用于 CI 目的”选项。

但是我在尝试安装私有包时仍然看到 404 错误。

任何想法,将不胜感激!

0 投票
1 回答
104 浏览

azure-devops - AzureDevops 静态网站未从私有源中找到 NuGet 包

我已经建立了一个 Azure 静态网站,并使用 AzureDevOps 管道将我的 Blazor 应用程序推送到其中,但是,我正在使用来自私有源的一些 NuGet 包,即使我在构建时使用该源 id 进行了还原,它仍然说找不到属于该提要的 NuGet 包。出于某种原因,它只查看 NuGet 官方提要,而不是我的私人提要。

这是我的构建管道:

我的构建管道

这是我的构建日志:

构建日志

C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Current\bin\msbuild.exe "C:\Users\VssAdministrator\AppData\Local\Temp\NuGetScratch\1vd04tff.vjr.nugetinputs.targets" /t:GenerateRestoreGraphFile /nologo /nr:false /v:q /p:NuGetRestoreTargets="C:\Users\VssAdministrator\AppData\Local\Temp\NuGetScratch\cyz5rg4y.zhy.nugetrestore.targets" /p:RestoreUseCustomAfterTargets="True " /p:RestoreTaskAssemblyFile="C:\hostedtoolcache\windows\NuGet\5.8.0\x64\nuget.exe" /p:RestoreSolutionDirectory="D:\a\1\s\" /p:RestoreConfigFile="D: \a\1\Nuget\tempNuGet_93.config" /p:SolutionDir="D:\a\1\s\" /p:SolutionName="Shield.Eagle.UI" NuGet.CommandLine.ExitCodeException:'NuGet 类型的异常.CommandLine.ExitCodeException' 被抛出。在 NuGet.CommandLine。NET SDK 不支持面向 .NET 6.0。以 .NET 5.0 或更低版本为目标,或者使用支持 .NET 6.0 的 .NET SDK 版本。[D:\a\1\s\src\Shield.Eagle.UI\Shield.Eagle.UI.csproj] C:\Program Files\dotnet\sdk\5.0.302\Sdks\Microsoft.NET.Sdk\targets\ Microsoft.NET.TargetFrameworkInference.targets(141,5):错误 NETSDK1045:当前的 .NET SDK 不支持面向 .NET 6.0。以 .NET 5.0 或更低版本为目标,或者使用支持 .NET 6.0 的 .NET SDK 版本。[D:\a\1\s\src\Shield.Eagle.Components\Shield.Eagle.Components.csproj]) ##[错误]包恢复失败 目标(141,5):错误 NETSDK1045:当前的 .NET SDK 不支持定位 .NET 6.0。以 .NET 5.0 或更低版本为目标,或者使用支持 .NET 6.0 的 .NET SDK 版本。[D:\a\1\s\src\Shield.Eagle.Components\Shield.Eagle.Components.csproj]) ##[错误]包恢复失败 目标(141,5):错误 NETSDK1045:当前的 .NET SDK 不支持定位 .NET 6.0。以 .NET 5.0 或更低版本为目标,或者使用支持 .NET 6.0 的 .NET SDK 版本。[D:\a\1\s\src\Shield.Eagle.Components\Shield.Eagle.Components.csproj]) ##[错误]包恢复失败

0 投票
1 回答
194 浏览

azure-devops - 任务 AzureStaticWebApp@0 '无法检测到此目录',但已显示

我正在使用 AzureDevOps 构建管道,但遇到了一个奇怪的问题。

这是我的管道:

第一个 bash 显示文件夹“lorehub-front”已显示

第二个 bash 显示内部文件夹是正确的文件(index.html 等)

脚本内容:cd /home/vsts/work/1/lorehub-front;回声 $(ls)

android-chrome-192x192.png android-chrome-512x512.png apple-touch-icon.png css env-config.js favicon-16x16.png favicon-32x32.png favicon.ico 字体 index.html js site.webmanifest

但我收到此错误:

应用程序目录位置:'/home/vsts/work/1/lorehub-front' 无效。无法检测到此目录。请验证您的部署配置文件是否反映了您的存储库结构。

0 投票
1 回答
261 浏览

azure - 此静态 Web 应用程序具有最大数量的暂存环境

在设置 Azure 静态 Web 应用程序并使用 Github 工作流时,有时拉取请求构建会失败。错误是:

“此静态 Web 应用程序已经拥有最大数量的登台环境”。

以下是 Github Workflow 构建日志的摘录: 在此处输入图像描述

如何删除一些暂存环境以便构建/拉取请求可以完成?

0 投票
1 回答
1191 浏览

azure-static-web-app - staticwebapp.config.json 不能与 github Azure 静态网站一起使用?

我创建了一个具有以下文件结构的简单站点:

/index.html /down.html /.github/workflows/azure-static-web-apps-xxxx.yml /staticwebapp.config.json

这部署了,我可以看到我的索引和向下页面,如果我修改任何一个,它就会神奇地出现在网站上。

问题是它忽略了 staticwebapp.config.json

我不知道把它放在哪里,但我猜根。它不工作。大概它没有被读取或处理。

yaml 文件如下所示。我不知道这是从哪里来的,或者我是否需要它,因为该站点将是纯 HTML(非库、js 或框架):

json 文件如下所示:

/test/ 给出 404,而 /index.html 给出 /index.html,即所有路由都不起作用。

0 投票
0 回答
32 浏览

github-actions - Azure 静态 Web 应用和 GitHub 企业

我们可以将 azure static web app 与 GitHub 企业帐户(不是个人帐户)连接并使用 GitHub 操作吗?

0 投票
0 回答
77 浏览

azure - 在 Azure 静态 Web 应用程序中通过 staticwebapp.config.json 预选 Auth0“连接”

staticwebapp.config.json部署到Azure 静态 Web 应用资源的存储库根目录中的文件中,可以在auth部分中配置自定义身份验证提供程序(请参阅配置自定义 OpenID Connect 提供程序)。

在我的例子中,我通过Using Auth0 with Static Web Apps 这篇文章添加了 Auth0 ,效果很好。

我的问题:我想从多个身份提供者中预先选择一个特定的“连接”,但不知道如何通过staticwebapp.config.json文件进行配置。

在 Auth0 文档中,该connection参数在webAuth.authorize()部分中进行了描述。我可以集成 Auth0 JS 库并将其全部设置在 SPA 前端,但我宁愿只使用staticwebapp.config.json文件来配置身份验证。

0 投票
1 回答
130 浏览

azure - 如何将 VS Code JS 调试器用于 Vue.js 应用程序和 Azure 静态 Web 应用程序模拟器 (swa)?

我开始使用 Microsoft 提供的 Vue.js 模板创建 Azure 静态 Web 应用程序。它工作得很好,只有一个障碍:当我使用 Azure 静态 Web 应用程序模拟器在本地提供站点时,我正在努力使用 VS Code 调试最终缩小的 Vue.js 代码。

当我npm run serve按照此处的说明提供 Vue.js 项目时,一切正常:https ://vuejs.org/v2/cookbook/debugging-in-vscode.html 。
VS Code 愉快地连接到 Google Chrome JS 调试器,见截图 1:

截图一:VS Code JS调试器成功连接Chrome调试Vue.js

这是我成功使用的 VS Code 的 launch.json 文件: 屏幕截图 2

当我想按照 Microsoft 说明使用 Azure 静态 Web 应用程序模拟器 ('swa') 时,问题就开始了。为什么我需要它?因为我想带上我自己的 Azure Functions 应用程序并将我的 Azure 静态 Web 应用程序链接到它。有关详细信息,请参阅此页面,我已对其进行设置并在云中对其进行了测试,效果很好:https ://docs.microsoft.com/en-us/azure/static-web-apps/functions-bring-your-拥有. 我想在本地使用 'swa' 模拟器的主要原因是因为它有助于轻松地路由 API 调用,并允许轻松简单地测试身份验证。只是它在 Vue.js 中表现不佳。

这是我尝试运行 SWA 模拟器的命令行: 屏幕截图 3

它可以工作,让我将我的 SWA 连接到端口 7071 上正在运行的 Azure Functions 应用程序(在另一个单独运行且正在运行的 VS Code 项目中),但问题是它必须使用我的项目的“dist”部分,这是一个缩小的以及由 webpack 从 Vue.js 创建的丑陋的 JS。此外,SWA 服务器需要继续运行,因此 VS Code 调试器永远无法正常启动,我无法像使用之前的命令那样调试和设置断点等。

有什么方法可以为“swa”Azure 模拟器提供一个未缩小的 Vue.js 项目开发版本,可以使用 VS Code 本身成功调试?我不想求助于使用控制台打印来调试,这太糟糕了。我喜欢 Azure 静态 Web 应用程序和功能,并希望能在这方面提供任何帮助。谢谢你。

0 投票
2 回答
356 浏览

azure-devops - 由于来自私有 Nuget 源的包,Azure DevOps 管道无法将 Blazor Wasm 应用部署到静态 Web 应用

我尝试将 Blazor Wasm 应用程序从我的 Azure DevOps 存储库部署到 Azure 静态 Web 应用程序。我的应用基于标准模板,但也使用托管在 Azure Artifacts 的私有源中的 Nuget 包。我尝试了几种管道任务的组合,但似乎都没有成功。

尝试1:要领

任务失败并出现明显错误,表明未使用托管包的私有 nuget 提要:

由于此任务没有 feedsToUse 和 vstsFeed 配置选项,我考虑单独恢复 Nuget 包。

尝试 2:添加 Nuget 还原

添加上述 dotnet restore 任务成功注册了私有提要并从中恢复了 nuget 包,但似乎此注册不适用于接下来的部署任务。部署任务失败并出现与上述相同的错误。

尝试 3:在部署期间跳过构建

我最后一次尝试是尝试让部署任务使用之前任务的输出,因此我设置了一个完整的 dotnet build-publish 管道,并在部署任务中将 skip_app_build 设置为 true,以避免构建和恢复失败:

这会产生以下错误,说(已发布?)默认文件丢失:

对于app_location,按照此处的说明,我使用了 csproj 文件的位置 (src/[project_folder]),其中确实不存在 index.html 或其他默认文件。但是,当我使用 src/[project_folder]/wwwroot 时,我克服了上述错误。

对于output_location, wwwroot 是大多数教程使用的,但它们不使用成熟的管道方法。我还尝试匹配构建 (../bin/Release/net5.0/wwwroot) 和发布 ($(Build.ArtifactStagingDirectory)/[project_folder]) 任务的输出文件夹。

无论我使用哪个文件夹,管道都会完成,但是在打开 Web 应用程序时,看起来有些但不是所有文件都已部署:

打开应用程序时的网络流量

我不知道从这里去哪里。