UNPKG

nuxt

Version:

Nuxt is a free and open-source framework with an intuitive and extendable way to create type-safe, performant and production-grade full-stack web applications and websites with Vue.js.

18 lines (17 loc) 586 B
import { hasProtocol } from "ufo"; import { defineNuxtRouteMiddleware } from "../composables/router.js"; import { getRouteRules } from "../composables/manifest.js"; export default defineNuxtRouteMiddleware((to) => { if (import.meta.server || import.meta.test) { return; } const rules = getRouteRules({ path: to.path }); if (rules.redirect) { const path = rules.redirect.includes("#") ? rules.redirect : rules.redirect + to.hash; if (hasProtocol(path, { acceptRelative: true })) { window.location.href = path; return false; } return path; } });