前言
在前端开发过程中,我们经常需要对 URL 进行控制和管理,而 cs-router 是一个非常好用且易于使用的路由库。本文将会介绍如何使用 cs-router,涵盖安装、基本用法以及高级用法,并通过示例代码来说明。
安装
使用 npm 进行安装:
npm install cs-router
基本用法
在你的项目中引入 cs-router:
import { Router } from 'cs-router';
在定义路由前,你需要先创建一个 router 实例:
const router = new Router();
定义路由
使用 router.route(path, callback)
方法来定义路由。其中,path 为路由路径,可以是字符串或者正则表达式;callback 为回调函数,可在路由匹配时被执行。
router.route('/', () => { console.log('hello world'); }); router.route('/about', () => { console.log('about page'); });
导航到路由
使用 router.navigate(path)
方法来导航到对应的路由。
router.navigate('/'); // console.log('hello world') router.navigate('/about'); // console.log('about page')
获取 URL 参数
在路由路径中,你可以通过 /:parameter
的形式来定义参数,如 /user/:id
。使用 router.params
可以获取 URL 中的参数。
router.route('/user/:id', () => { console.log('user id:', router.params.id); }); router.navigate('/user/123'); // console.log('user id:', 123)
钩子函数
使用 router.enter(callback)
和 router.leave(callback)
可以设置进入或离开某个路由时执行的钩子函数。
router.enter(() => { // do something before routing }); router.leave(() => { // do something after routing });
高级用法
嵌套路由
在 cs-router 中,你可以很方便地使用嵌套路由,只需要再创建一个新的 router 实例,并使用 router.use(path, childRouter)
方法:
-- -------------------- ---- ------- ----- ---------- - --- --------- --------------------- -- -- - ----------------- ------- --- ------------------------ -- -- - ----------------- ----- ------------------ --- ----- ---------- - --- --------- ----------------------- ------------ ----------------------------- -- ----------------- ------ --------------------------------- -- ----------------- ----- ----展开代码
重定向
使用 router.redirect(path)
方法可以将路由重定向到另一个路径。
router.route('/home', () => { console.log('home page'); }); router.redirect('/home');
404 页面
在路由未匹配时,你可以使用 router.notFound(callback)
方法来定义 404 页面:
router.notFound(() => { console.log('404 not found'); }); router.navigate('/notExist'); // console.log('404 not found')
示例代码
-- -------------------- ---- ------- ------ - ------ - ---- ------------ ----- ------ - --- --------- ----------------- -- -- - ------------------ -------- --- ---------------------- -- -- - ------------------ ------- --- ------------------------- -- -- - ----------------- ----- ------------------ --- --------------- -- - -- -- --------- ------ ------- --- --------------- -- - -- -- --------- ----- ------- --- ------------------ -- - ---------------- --- -------- --- --------------------- -- ------------------ ------- -------------------------- -- ------------------ ------ ----------------------------- -- ----------------- ----- ---- ----------------------------- -- ---------------- --- -------展开代码
总结
cs-router 是一个易于使用且强大的路由库,它支持基本路由、嵌套路由、重定向、钩子函数等丰富的功能。通过本文的介绍,希望能够帮助大家更加熟悉 cs-router 的使用,为大家的前端开发工作带来便利。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6005583b81e8991b448d56ca