带有 Vue 项目路由的 Azure 静态 Web 应用程序无法正常工作

2024-03-21

我有一个使用 Azure Static Web App 部署的 vue 项目。项目包含路由器(历史模式)功能。它在本地运行完美。但部署到 Azure 路径链接后无法正常工作。例如,当我尝试从浏览器导航访问 mysite.com/about 时,它会返回 404 错误。

public 文件夹中的 staticwebapp.config.json 文件:(我从微软文档中获取此示例)

{
    "routes": [
      {
        "route": "/*",
        "serve": "/index.html",
        "statusCode": 200
      }
    ]
  }

我的路由器js文件:

import Vue from 'vue'
import VueRouter from 'vue-router'
import Home from '../views/Home.vue'

Vue.use(VueRouter)

const routes = [
  {
    path: '/',
    name: 'Home',
    component: Home
  },
  {
    path: '/about',
    name: 'About',
    component: () => import(/* webpackChunkName: "about" */ '../views/About.vue')
  },
  {
    path: '/api',
    name: 'Api',
    component: () => import('../views/Api.vue')
  }
]

const router = new VueRouter({
  mode: 'history',
  base: process.env.BASE_URL,
  routes
})

export default router

正如其他人提到的,不推荐将“routes.json”添加到公共文件夹 https://github.com/Azure/static-web-apps/wiki/routes.json-reference-(deprecated)。但是,如果您是新来的并查看以前的答案,那么您对新实践的了解就会变得更糟。

您正在寻找的答案是Azure 静态 Web 应用程序配置文件。该文件应放置在您的应用程序的根目录下,名为staticwebapp.config.json. 这是一个例子 https://learn.microsoft.com/en-gb/azure/static-web-apps/configuration#example-configuration-file它可以包含什么,来自文档。

对于单页应用程序,您最感兴趣的是捕获服务器“不知道”的路由以及应排除哪些路径。

以下是 Vue 应用程序的示例文件:

(如果您没有应该以特殊方式运行的路由,则不必指定它们)

{
  "globalHeaders": {
    "content-security-policy": "default-src https: 'unsafe-eval' 'unsafe-inline'; object-src 'none'"
  },
  "navigationFallback": {
    "rewrite": "/index.html",
    "exclude": ["/img/*.{png,jpg,gif,webp}", "/css/*"]
  },
  "mimeTypes": {
    "custom": "text/html"
  }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

带有 Vue 项目路由的 Azure 静态 Web 应用程序无法正常工作 的相关文章

  • 如何在Azure上运行nodejs、express js项目的启动命令?

    我在用Azure 开发运营对于我的应用程序 我不确定如何为该项目设置启动命令 如果我将它添加到创建的管道中的任务中 它会给出一个错误 也许是因为该过程永远不会结束 实际上 我可以运行 npm install 并创建工件 但我需要应用程序启动
  • Vue Chart.js - 数据变化时图表不更新

    我正在使用 Vue js 和 Chart js 绘制一些图表 每次我调用该函数时generateChart 图表不会自动更新 当我在 Vue Devtools 中检查数据时 它们是正确的 但图表没有反映数据 但是 当我调整窗口大小时 图表确
  • Azure 角色配置管理

    当您别无选择只能在 web config 或 app config 中保存配置设置时 我不明白 Windows Azure 如何让您改变应用程序的配置 例如 项目经常会使用大量使用 web config 的第三方库 web config 的
  • Microsoft Graph API 授权错误:无效受众

    我知道这是一个很长的问题 但如果有人能与我分享他们的想法或经验 我真的很感激 因为我已经解决这个问题几天了 现在正在尝试很多事情 我有一个 ASP Net Core 3 1 Web API 应用程序和一个 ASP NET Core 3 1
  • 删除鼠标悬停时的 Vue 自定义过滤器

    我想使用 VueJS 2 删除鼠标悬停时的截断过滤器 这是模板中的过滤器 div class eng word english truncate div 这是过滤器本身 filters truncate function value let
  • 使用图形 API 从多租户 AD 应用程序获取所有用户

    我正在尝试使用图形 API 获取多租户应用程序的所有用户 为此 我使用请求生成了访问令牌 POST https login microsoftonline com common oauth2 v2 0 token HTTP 1 1 Host
  • Azure WebApp - 获取 VNET 上连接的服务的私有 IP

    我在 VPN 内有一个 Azure WebApp 当我继续联网时 我看到这样的连接 当我单击 单击此处进行配置 时 它似乎已启动并正在运行 所以 一切看起来都很好 VPN 外部连接 但我在哪里可以找到此 Web 应用程序的内部 VPN IP
  • 如何预渲染多个Vue应用页面?

    我正在尝试 未成功 在使用 Vue CLI 搭建的同一项目中预渲染多个 Vue 应用程序的 HTML 由于多种原因 我不想使用 Vue Router 或 Nuxt 等 我尝试过使用预渲染 Spa 插件 https github com ch
  • Microsoft Graph API 中的一个或多个属性包含无效值

    我想在 Azure Active Directory B2C 上创建用户 我按照给定链接中的每个步骤进行操作Here https learn microsoft com en us azure active directory b2c ac
  • 媒体查询在 VueJS 样式标签中不起作用

    我正在尝试在 VueJS 组件的样式标签中使用 media media 中的样式始终有效 而不是使用宽度规则
  • Azure Webjob 与云服务

    WebJob 和云服务有什么区别 我试图对两者进行概述 根据定义 它们似乎能够实现相同的目标 也许云服务有更多功能 云服务 Web Worker Role 将为您提供完整的虚拟机 VM 由于您想将 WebJobs 与云服务进行比较 我假设您
  • IIS 或任何文件夹服务器 2012 R2 中不存在 adfs 目录的虚拟或物理位置

    我有一个完全可操作的联合身份验证服务器 Azure 同步 Office 365 同步和本地 配置的每个部分都完美运行 我遇到的问题是 没有任何 Web 目录文件的痕迹 我查看了每个位置 并且我的联合代理或联合服务器上不存在虚拟目录 我正在尝
  • 如何在 Vue 中动态创建的组件上获取更新的 $refs?

    我的组件数量取决于数组数量 因此当我向数组添加新项目时 它应该创建新组件 当创建新组件时 我想获得它的参考 这就是我有误解的地方 最后添加的组件是undefined当我试图得到它时 但是 如果我在一段时间后尝试获取参考 它就会起作用 我猜这
  • 主机系统 Azure-WorkerRole 无法访问角色

    我使用辅助角色机器 中型 gt 2 个核心 3 5 GB RAM 来完成大量工作 并且我能够使用 100 的 CPU 两个核心 和 85 的 RAM 在这项工作期间 每次大约需要 20 分钟 40 分钟 Azure 认为机器不健康并停止我的
  • 如何在Azure数据工厂中传递不记名令牌API

    我有一个 API 它具有授权和不记名令牌 我在邮递员中进行了测试 它正在工作 但是 当我在 ADF 中使用 Web 活动时 它不起作用 我在 URL 部分传递 url 创建新标头 输入授权并指定值 Bearer token 出现以下错误 E
  • Azure Cloud Shell 文件共享包含 5GB IMG 文件

    我在 Azure 门户中创建了一个 PowerShell 云 shell 配置为使用现有的通用 v2 存储帐户 创建一个新的文件共享并为其命名 当我查看文件共享内部时 我可以看到一个文件夹 cloudconsole 其中 acc name
  • Terraform azurerm 计划 start_time 始终在新部署时重置

    我正在尝试获取资源azurerm automation schedule在特定时间部署 ex 18 00 每月发生 我正在使用以下代码 locals update time 18 00 update date formatdate YYYY
  • Azure Functions:CosmosDBTrigger 在 Visual Studio 中未触发

    TL DR 这个例子 https learn microsoft com en us azure azure functions functions bindings cosmosdb trigger c example在 VS2017 中
  • 如何将子集合添加到 Firestore 中的文档? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 没有关于如何在Firestore中的文档中添加子集合的文档 那么如何使用Web应用程序添加子集合 我尝试了这个但没有成功 如何使用代码
  • 如何在 vue.js 中使用 SVG.js 插件?

    我在用svg js在我的 Laravel 项目中运行vue js 这就是我使用的方式svg js Step 1 安装svg js作为我的 vue 应用程序中的插件 import svgJs from svg js dist svg expo

随机推荐

  • 使用 Jest 和 Enzyme 进行测试时设置 URL 参数

    我的组件有 class Search extends Component constructor props super props this state searchTerm typeof this props match params
  • 完整的 Magento/Wordpress 集成

    任何人都可以提供有关最佳方法的任何建议fully将 WordPress 博客集成到 Magento 商店中 我见过许多不同的集成方法 lazzymonkeys sonassi 等 但似乎没有一个能够完全集成整个博客 即帖子 类别 档案 搜索
  • 左调整 (hjust = 0) 带有自由刻度的面上的垂直 x 轴标签

    我决定重新表述这个问题 https stackoverflow com questions 60677990 ggplot facet grid x axis stepped 编辑会花费更多时间 而且在我看来也不会对OP有帮助 如何向左调整
  • (jQuery) 将 div 样式“display:none”切换为“display:inline”

    我有 2 个 div 我希望能够在单击按钮时在它们之间切换 当前使用 toggle 页面上显示的div是div1 该 div 的样式为 display inline 我的另一个 div div2 以样式 display none 开头 当d
  • 从 FFI 返回的切片创建 OsStr(ing) 的正确方法是什么?

    我有一个函数接受带参数的回调data const u8 length usize 代表一些路径 由此创建 OsStr ing 的正确方法是什么 There s from byte slice in OsStrExt 但似乎它没有检查数据是否
  • CasperJS click() 不加载新的 html

    我正在尝试使用 CasperJS click 点击在当前屏幕上生成模式的链接 当我查询正确的选择器并使用浏览器控制台中单击它时document querySelector click 它有效 但即使当我casper evaluate 这不起
  • Internet Explorer 10 和 11 中的边框半径显示问题[重复]

    这个问题在这里已经有答案了 我有一个带有边框半径的 div 它在 IE 10 和 IE11 中显示为某种片段 原因是什么 我们该如何解决这个问题 使用IE10或IE11访问本站查看效果 http css3pie com demos bord
  • 从主 Web 应用程序自动登录到另一个 ASP.NET 应用程序

    我正在主 Web 应用程序下的文件夹中运行 YetAnotherForum 的最新版本 该子文件夹在 IIS 中配置为应用程序 导航到该文件夹 并登录效果非常好 YAF 通过会员提供商进行设置并使用表单身份验证 我现在想做的是从主网站自动将
  • 布尔值是否有现有的 I18N 翻译?

    我需要根据表达式是真还是假以各种语言显示 是 或 否 目前我正在这样做 fr yml fr yes Oui no Non 一个辅助方法 def t boolean expression expression t yes t no end e
  • 多个项目共享一个 jenkinsfile

    我有多个具有类似构建步骤的项目 并且我正在考虑在这些项目中重用 Jenkinsfile 管道 我很难找到有关如何实现此类标准 据我看来 设置的文档 这是我的要求 1 Jenkinsfile存储在repo中 在多个项目之间共享 2 每个项目都
  • Spring Security 令牌身份验证 - RESTful JSON 服务

    我希望将 Spring Security 用于 Spring MVC 应用程序 该应用程序严格来说是一个 JSON Web 服务 我做了一些研究并阅读了一些文章 但还没有真正找到完整的内容 我希望应用程序完全无状态并使用基于令牌的身份验证
  • Azure 持久编排功能触发两次

    我正在尝试实现 Azure Durable Function 工作流程 每隔 6 分钟 我就会有一个 Azure TimerTrigger 函数调用一个 Azure Orchestration Function OrchestrationT
  • 在 CodeIgniter 中发送数据和重定向

    我有一个简单的 C CRUD 函数 我想发送一条消息 错误或成功 以及来自我编写的 插入 函数的重定向 有没有办法通过重定向来附加 POST 字段 在伪代码中我有 function view all set up some initial
  • python读取大型二进制文件最有效的方法是什么

    我有一个大 21 GB 文件 我想将其读入内存 然后传递给一个子例程 该子例程对我透明地处理数据 我在 Centos 6 5 上使用 python 2 6 6 因此无法升级操作系统或 python 目前 我正在使用 f open image
  • Git 克隆中的 Ansible 和 Git 权限被拒绝(公钥)

    我有一本剧本 我试图从私人存储库 GIT 克隆到服务器 我已经设置了 ssh 转发 当我 ssh 进入服务器并尝试从同一存储库手动克隆时 它成功工作 但是 当我使用 ansible 将存储库克隆到服务器时 它失败并显示 权限被拒绝公钥 这是
  • Threejs 变换矩阵排序

    我想知道 Threejs 如何对多个矩阵进行排序 例如 var mesh new THREE Mesh geometry material mesh position set 0 20 0 T transform matrix mesh r
  • XML 模式 xs:alternative 在 JSON 模式中是否可用?

    是否可以在 JSON Schema 中使用替代方案 在 XSD 中 这可以使用xs alternative元素 例如参见 如何在 XML Schema 1 1 中使用替代方案 https stackoverflow com question
  • 交叉编译器默认包含路径设置

    首先 一些背景知识 我正在尝试在 Beagleboard xM 上编写 Android 驱动程序和应用程序 我已经下载了他们的 Android 开发套件 安装了它 并且可以使用以下指示成功构建其中的所有内容http processors w
  • 纱线全局命令在 Mac 上失败

    我正在尝试使用纱线添加 vtex 但出现以下错误 Usage Error The yarn global commands have been removed in 2 x consider using yarn dlx or a thir
  • 带有 Vue 项目路由的 Azure 静态 Web 应用程序无法正常工作

    我有一个使用 Azure Static Web App 部署的 vue 项目 项目包含路由器 历史模式 功能 它在本地运行完美 但部署到 Azure 路径链接后无法正常工作 例如 当我尝试从浏览器导航访问 mysite com about