aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/router.tsx
diff options
context:
space:
mode:
authorshu <nvcsadjkojf@outlook.com>2026-09-07 16:00:42 +0800
committershu <nvcsadjkojf@outlook.com>2026-09-07 16:00:42 +0800
commitbe5b47eee4d7305e54677de45860d8b085f3cfec (patch)
treef91db47aa2e2cf36788b9e715158a80a979749c9 /src/router.tsx
parent481402e09fe760634b826b09e302e2e1bfec88b1 (diff)
feat: configure router mode and base URL via environment variablesHEADmain
Diffstat (limited to 'src/router.tsx')
-rw-r--r--src/router.tsx12
1 files changed, 9 insertions, 3 deletions
diff --git a/src/router.tsx b/src/router.tsx
index 8128f45..77158f4 100644
--- a/src/router.tsx
+++ b/src/router.tsx
@@ -1,11 +1,17 @@
-import { createBrowserRouter } from 'react-router'
+import { createBrowserRouter, createHashRouter } from 'react-router'
import App from './App'
import { pageRoutes } from './route-config'
-export const router = createBrowserRouter([
+const isHashRouter = import.meta.env.VITE_ROUTER_MODE === 'hash'
+const createRouter = isHashRouter ? createHashRouter : createBrowserRouter
+
+export const router = createRouter([
{
path: '/',
Component: App,
children: pageRoutes,
},
-])
+], {
+ // The deployment base precedes the hash and must not be repeated inside it.
+ basename: isHashRouter ? '/' : import.meta.env.BASE_URL,
+})