哈希路由
该路由器支持标准 HTML5 历史 API 路由(路径名)和基于哈希的路由 (#/path)。
哈希路由非常适合静态文件托管环境(例如 GitHub 页面或 Netlify 静态部署),因为它无需服务器端重定向回退配置。
setRoutingMode
配置路由器的主动模式。接受 "history"(默认)或 "hash"。
typescript
function setRoutingMode(mode: 'history' | 'hash'): void示例
javascript
import { setRoutingMode } from '@beforesemicolon/router'
// Enable Hash Routing
setRoutingMode('hash')
// URLs will now format as: domain.com/#/dashboard
// <page-link path="/todos"> renders as: <a href="#/todos">getRoutingMode
检索当前活动的路由模式。
typescript
function getRoutingMode(): 'history' | 'hash'示例
javascript
import { getRoutingMode } from '@beforesemicolon/router'
const mode = getRoutingMode() // "history" or "hash"哈希路由的好处
- 零服务器配置: 标准服务器在页面刷新时访问直接路径(如
/about)时会返回 404 错误,除非配置为重写为index.html。哈希路由完全是客户端的,不需要服务器端后备规则。 - 静态托管: 与 AWS S3 存储桶、GitHub 页面或 Netlify 等静态环境高度兼容。
- 旧版兼容性: 在旧版 Web 浏览器引擎中完美运行。