快速开始
本指南将引导你从零开始配置 @esmx/router。完成配置后,你将获得一个包含路由、导航和框架集成的可用路由器。
安装
安装核心路由器包:
如果你使用 Vue(2.7+ 或 3),还需要安装 Vue 集成包:
基本设置
最简单的 @esmx/router 只需要一个路由列表和一个模式:
基本设置就是这些。路由器将 URL 匹配到组件,处理浏览器历史记录,并提供当前路由状态。
使用 Vue 3 设置
Vue 3 集成使用 @esmx/router-vue,它提供了与 Vue 响应式系统无缝协作的插件、组合式 API 和组件。
1. 定义路由
src/routes.ts
2. 创建应用
src/create-app.ts
3. 客户端入口
src/entry.client.ts
4. 服务端入口(SSR)
src/entry.server.ts
5. 在组件中使用
src/App.vue
使用 Vue 2 设置
Vue 2.7+ 使用相同的 @esmx/router-vue 包。主要区别在于插件的安装方式:
在 Vue 2.7+ 组件中,你可以像 Vue 3 一样使用相同的组合式 API(useRouter、useRoute)。选项式 API 也同样适用——插件会使 this.$router 和 this.$route 可用:
使用 React 设置
React 没有专门的集成包。相反,直接在路由器上注册微应用:
src/entry.client.tsx
然后通过 props 或 React context 将 router 对象传递给你的组件:
项目文件结构
一个典型的带路由的 Esmx 项目遵循以下结构:
entry.node.ts:配置 Node.js 服务器(HTTP 监听器、中间件、构建钩子)entry.server.ts:处理 SSR——在内存模式下创建路由器,渲染 HTMLentry.client.ts:处理客户端——在 history 模式下创建路由器,挂载并激活应用create-app.ts:共享的工厂函数,使用路由器创建框架应用routes.ts:路由定义的唯一数据源
完整工作示例
这是一个将所有内容整合在一起的完整示例,使用 Vue 3 和 SSR:
routes.ts
src/routes.ts
create-app.ts
src/create-app.ts
entry.client.ts
src/entry.client.ts
entry.server.ts
src/entry.server.ts
entry.node.ts
src/entry.node.ts
下一步
现在你已经有了一个可工作的路由器,继续探索指南的其余部分: