npm 包@nsisodiya/router 使用教程

阅读时长 6 分钟读完

前言

在前端开发中,启用路由是必不可少的一个步骤。而在构建 SPA 应用时,我们有多种开源的轮子可供选择。其中之一便是@nsisodiya/router 这个 npm 包,本文将详细介绍该包的使用方法。

@nsisodiya/router 概述

@nsisodiya/router 是一个轻量级的前端路由,基于原生的 HTML5 history API 实现。它可以让你创建基于路由的 SPA 应用,同时具有如下特点:

  • 简单易用:提供面向对象的 API,使用简单、优雅。
  • 功能齐全:支持路由拦截、前进后退等常规路由功能。
  • 高性能:在路由初始化时,只需一次全局路由注册,即可高效地处理路由变化。
  • 动态加载:在需要时,可以动态加载路由组件。
  • 定制化:提供 API,让你可以轻松地为路由定制化特殊行为。

安装 & 引入

  1. 可以通过 npm 进行安装并引入@nsisodiya/router:
  1. 也可以直接在 HTML 页面中引入:

使用方法

创建路由

  1. 创建路由对象:
  1. 注册全局路由表:
-- -------------------- ---- -------
-----------------------
  -
    ----- ----
    ---------- -- -- ---------------------------
    ----- -
      ------ -----
    --
  --
  -
    ----- ---------
    ---------- -- -- ----------------------------
    ----- -
      ------ -------
    --
  --
  -- ---
---

路由表是一个数组,每一项都包含 path、component 和 meta 三个属性:

  • path:路径,必填。
  • component:组件,必填。
  • meta:其他路由信息,可选。

需要注意的是,component 属性的值应该是一个函数,用于动态加载组件。例如:

路由拦截

在某些时候,我们需要对路由进行拦截,例如在用户未登录时,跳转到登录页面。可以使用 before_enter 和 before_leave 两个钩子来实现:

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

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

路由跳转

使用 router.push(path: string) 方法实现路由的跳转:

可通过 router.currentPath 属性获取当前路由路径。

路由注入

可以通过 Router.vue 为组件注入路由对象 router:

这样就可以在组件中使用 router 对象了,例如获取当前路由路径:

示例代码

index.html

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

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

app.js

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

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

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

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

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

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

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

Home.vue

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

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

About.vue

结语

@nsisodiya/router 是一个简单易用、功能齐全、高性能的路由库,如果你正在寻找一款优秀的前端路由,它值得你尝试。希望本文能够帮助你了解该库的基本用法。

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

纠错
反馈