@fluixi/router

中文文档
1.0.0-alpha.108发布于 2026/11/07MITTypeScriptESM + CJS零依赖近 30 天下载 5955

Framework-agnostic router core for Fluixi — URL to a resolved match tree + navigation.

原始使用文档
文档目录6 节
  1. ✨ Overview
  2. 📦 Installation
  3. 🚀 Usage
  4. 📖 API
  5. 🧭 Rendering contract
  6. 📄 License

Fluixi

@fluixi/router

Framework-agnostic router core: URL → a resolved match tree + navigation.

License: MIT TypeScript npm Dependencies


✨ Overview

@fluixi/router is the routing core: pure state and a subscribe API, with no reactivity, no DOM, no view framework. View adapters (the Fluixi adapter lives in @fluixi/core/router) render the match tree top-down, which makes deeply nested layout/outlet rendering work by construction. See DESIGN.md.

📦 Installation

pnpm add @fluixi/router

🚀 Usage

import { createRouter, createMemoryHistory } from '@fluixi/router';

const routes = [
  { path: '/app', component: AppLayout, children: [
    { path: '/app/home', component: HomePage },
    { path: '/app/user/:id', component: UserPage },
  ]},
];

const router = createRouter({ routes, history: createMemoryHistory('/app/home') });

router.state().match;        // { matched: [AppLayout, HomePage], params, pathname }
router.subscribe((s) => render(s.match));
router.navigate('/app/user/42');
router.state().match.params; // { id: '42' }

📖 API

ExportWhat
matchRoutes(routes, pathname)pure matcher → RouteMatch | null
createRouter({ routes, history, base? })Router with state(), subscribe(), navigate(), match(), destroy()
createMemoryHistory(initial?) / createBrowserHistory()pluggable history adapters

🧭 Rendering contract

match.matched is parent → child. An adapter folds from the deepest child upward, passing each rendered child to its parent as that parent's outlet: all concrete values, never a deferred build. That top-down composition is what makes deeply nested <Outlet/> rendering work at any depth.

📄 License

MIT © Fluixi

版本与发布记录

@fluixi/router 共发布 15 个版本,首次发布于 2026/07/10;过去 12 个月发布了 15 个版本。

版本发布日期距今
1.0.0-alpha.108latest2026/11/078 天前
1.0.0-alpha.1072026/11/0511 天前
1.0.0-alpha.1062026/11/0213 天前
1.0.0-alpha.1052026/11/0115 天前
1.0.0-alpha.1042026/11/0115 天前
1.0.0-alpha.1032026/10/2620 天前

关于 @fluixi/router 的常见问题

@fluixi/router 是什么?

Framework-agnostic router core for Fluixi — URL to a resolved match tree + navigation.

如何安装 @fluixi/router?

在项目目录运行 npm install @fluixi/router,或使用 pnpm add / yarn add / bun add。

@fluixi/router 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@fluixi/router 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@fluixi/router 可以商用吗?

@fluixi/router 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@fluixi/router 的下载量有多少?

根据 npm 官方下载统计,@fluixi/router 在 2026/10/15 – 2026/11/13 这 30 天内被下载 5,955 次,日均约 199 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@fluixi/router 还在维护吗?

最新版本 1.0.0-alpha.108 发布于 2026/11/07(8 天前);至今共发布 15 个版本,其中过去 12 个月发布了 15 个;首次发布于 2026/07/10。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。