npm 包 fun-router 使用教程

阅读时长 6 分钟读完

什么是 fun-router?

fun-router 是一个用于前端路由的 npm 包。它可以帮助开发者快速搭建基于路径的前端路由系统,并且支持多级路由和嵌套式路由。

安装和使用

安装

您可以通过 npm 来安装 fun-router:

或者使用 yarn 安装:

使用

fun-router 可以在任何支持 ES6 模块的环境中使用,例如 React、Vue 和 Angular。下面是一个在 React 中使用 fun-router 的示例:

-- -------------------- ---- -------
------ - ------- ----- - ---- ------------

-------- ----- -
  ------ -
    --------
      ------ -------- ----- ---------------- --
      ------ ------------- ----------------- --
    ---------
  -
-

-------- ------ -
  ------ -------------
-

-------- ------- -
  ------ --------------
-

路由匹配规则

fun-router 支持常见的路由匹配规则:

  • /path:精确匹配
  • /path/:param:带参数匹配,例如 /users/:id
  • /path/*:通配符匹配,例如 /path/*

在路由匹配时,fun-router 会按照下面的规则依次匹配路由:

  1. 精确匹配
  2. 带参数匹配
  3. 通配符匹配

嵌套路由

fun-router 支持嵌套式路由。例如,我们可以把 /users 下的子路由放到一个独立的组件中,并使用 <Route> 组件进行注册:

-- -------------------- ---- -------
------ - ------- ----- - ---- ------------

-------- ----- -
  ------ -
    --------
      ------ -------- ----- ---------------- --
      ------ ------------- ----------------- --
    ---------
  -
-

-------- ------ -
  ------ -------------
-

-------- ------- -
  ------ -
    -----
      --------------
      ------ ------------- ----- -------------------- --
      ------ ----------------- ---------------------- --
    ------
  -
-

-------- ---------- -
  ------ -------- ---------
-

-------- ------------ ----- -- -
  ----- - -- - - ------------
  ------ -------- ------- ---------
-

在上面的例子中,我们在 /users 下注册了两个子路由:/users/users/:id。这样我们就可以在一个独立的组件中处理所有 /users 相关的路由了。

API

<Router>

<Router> 是 fun-router 包中的一个高阶组件。它需要被包含在整个路由系统的根节点中,并且必须包含所有的 <Route> 组件。

<Router> 组件支持下面的 props:

  • history:自定义路由历史记录,默认为 window.history
  • basename:应用程序的基本路径,会被自动添加到所有的路由路径中
  • location:自定义当前路由的地址,可以手动覆盖当前浏览器地址栏中的地址
  • onChange:当路由发生改变时触发的回调函数

<Route>

<Route> 组件用来指定某个路径的页面组件。当路由匹配时,与之匹配的 <Route> 组件会被渲染到页面中。

<Route> 组件支持下面的 props:

  • path:路由路径,支持精确匹配、参数匹配和通配符匹配
  • exact:是否开启精确匹配模式,默认为 false
  • children:在 <Route> 组件内部嵌套的子路由
  • component:要渲染的页面组件
  • render:用于自定义路由匹配后要渲染的组件
  • props:传递给组件的 props 参数

withRouter

withRouter 是一个高阶组件,用于将当前路由信息注入到组件的 props 参数中。

自定义路由系统

fun-router 可以通过 historylocation 参数来自定义路由系统。这意味着您可以使用自己的路由逻辑替换默认的浏览器路由。

-- -------------------- ---- -------
------ - ------------------- - ---- ---------
------ - ------- ----- - ---- ------------

----- ------- - ---------------------

-------- ----- -
  ------ -
    ------- ------------------
      ------ -------- ----- ---------------- --
      ------ ------------- ----------------- --
    ---------
  -
-

-------- ------ -
  ------ -------------
-

-------- ------- -
  ------ --------------
-

总结

fun-router 是一个轻量级的前端路由库,可以帮助开发者快速搭建基于路径的前端路由系统。它支持多级路由和嵌套式路由,同时还提供了丰富的 API 和自定义路由系统功能。希望通过这篇文章您能够掌握 fun-router 的使用方法,并在实际项目中得到应用。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005663181e8991b448e21f1

纠错
反馈