解决方式

当我们使用 name 进行跳转时,如果页面没有找不到,设置的跳转404页面将会失效。

const sourceWarn = window.console.warn
// 复写warn方法方便检查由于使用name跳转无法监控404的问题
window.console.warn = function (...rest) {
  const args = Array.from(rest)
  if (args[0] && args[0].includes('Route with name') && args[0].includes('does not exist')) {
    setTimeout(() => {
      route.push('/404')
    }, 0)
  }
  sourceWarn(...rest)
}