@fiscozen/link

中文文档
1.0.1发布于 2026/04/30MITES Module零依赖近 30 天下载 2338

设计系统链接组件

中文使用文档
文档目录19 节
  1. 特征
  2. 安装
  3. 基本用途
  4. 内部路由( 线条路径)
  5. 内部路由( 有名称的对象)
  6. 内部路由( 有路径和查询对象)
  7. 外部链接
  8. 道具
  9. 类型脚本类型安全
  10. 实例
  11. 导航菜单
  12. 与安全的外部联系
  13. 残疾状态
  14. 危险链接
  15. 替换导航
  16. 无障碍
  17. ARIA 属性
  18. 警卫
  19. 相关构成部分

@fiscozen/链接

弹性链接组件支持内部通路(vue-router)和外通通路. 自动制作内部路由的路由器-链接,外部 URL 的锚标记,或禁用时的非交互间距.

特征

  • 内部路线: 使用vue-router进行有 RouteLocationRaw支持的SPA导航(字符串或对象)
  • 外部导航: 支持带有锁定标签的外部 URL
  • 残疾状态: 与已禁用型号的非交互跨度的渲染器
  • 多种变式: 默认和危险类型
  • 文本样式: 默认( 在悬浮上下行) 或总是下划线
  • 大小选项: sm, md (英语)
  • 类型脚本类型安全: 歧视工会类型执行正确的道具组合
  • 完全无障碍: ARIA 支持和键盘导航
  • 警卫: 自动rel="noopener noreferrer" 用于外部链接,目标=" blank"

安装

npm install @fiscozen/link

基本用途

内部路由( 线条路径)

<script setup lang="ts">
import { FzLink } from '@fiscozen/link'
</script>

<template>
  <FzLink to="/dashboard" size="md">Go to Dashboard</FzLink>
</template>

内部路由( 有名称的对象)

<template>
  <FzLink :to="{ name: 'user', params: { id: 123 }}">
    User Profile
  </FzLink>
</template>

内部路由( 有路径和查询对象)

<template>
  <FzLink :to="{ path: '/search', query: { q: 'vue' }}">
    Search Results
  </FzLink>
</template>
<template>
  <FzLink to="https://example.com" external target="_blank">
    External Site
  </FzLink>
</template>

道具

Prop类型默认说明
toRouteLocationRaw | string- 说吧目标路径或 URL 。 类型取决于 external 道具 : 内部 (外部=虚假或未定义): 接受vue-router RouteLocationRaw(字符串路径或对象有名称/路径,参数,查询等). 外部 必须是字符串 URL.
type'default' | 'danger''default'视觉变体表示链接目的. 影响颜色方案.
linkStyle'default' | 'underline''default'文字装饰风格. “ 默认” 显示在悬浮上下划线,“ 下行” 显示总是下划线 .
size'sm' | 'md''md'影响字体大小和行高的文本大小.
disabledbooleanfalse禁用链接, 渲染为与已禁用样式的非交互跨度 .
targetstring- 说吧锚标记的目标属性(例如" blank","自"). 可同时使用内部(router-link)和外部链接.
externalbooleanfalse当真实时, 以href 而不是路由器- link 作为锚标记 。 用于外部 URL 或当不想要路由器导航时 .
replacebooleanfalse使用路由器. 取而代之 路由器. push 用于导航. 只适用于内部路线(当外部是虚假的).

类型脚本类型安全

该部分使用受歧视的工会类型强制实施正确的道具组合:

  • 内部链接 (单位:千美元)external=false 或者说 undefined:

    • to 接受 RouteLocationRaw (字符串路径或对象有名称/路径,参数,查询等)
    • replace 可用于
    • target 可用于(在新标签/窗口中打开内部路由)
  • 外部链接 (单位:千美元)external=true:

    • to 必须是字符串 URL
    • target 可用于
    • replace 无法使用( 不适用于外部链接)

TypeScript 如果尝试使用不兼容道具组合,则会显示出错.

实例

导航菜单

<template>
  <nav>
    <FzLink to="/dashboard" size="md">Dashboard</FzLink>
    <FzLink to="/settings" size="md">Settings</FzLink>
    <FzLink :to="{ name: 'profile', params: { id: userId }}" size="md">
      Profile
    </FzLink>
  </nav>
</template>
<template>
  <FzLink to="https://example.com" external target="_blank">
    Visit Example Site
  </FzLink>
</template>

组件自动添加 rel="noopener noreferrer" 何时 target="_blank" 已使用.

残疾状态

<template>
  <FzLink to="/premium" disabled>
    Premium Feature (Requires Upgrade)
  </FzLink>
</template>
<template>
  <FzLink to="/delete-account" type="danger" size="md">
    Delete Account
  </FzLink>
</template>

替换导航

<template>
  <FzLink to="/redirect" replace>
    Redirect Without History
  </FzLink>
</template>

无障碍

FzLink完全无障碍,符合WCAG 2.1 AA标准:

  • 键盘导航: 所有链接都可以访问键盘(Tab, Enter)
  • 屏幕阅读器: 残疾状态的适当ARIA属性
  • 重点指标: 有适当对比的可见焦点大纲
  • 语义 HTML: 内部路线使用路由器-链接,外部定位
  • 残疾状态: 有aria- disabled, 角色="link", 和 aria- label 的横幅

ARIA 属性

  • aria-disabled: 当链接被禁用( Vue 3 兼容性的字符串值) 时设定为“ true ”
  • role: 设置为“ 链接” ,用于保留语义意义
  • aria-label: 为已禁用的链接提供无障碍标签
  • rel: 自动为目标=" blank"的外部链接添加"Noopener noreferrer"

警卫

外部链接 target="_blank" 自动包含 rel="noopener noreferrer" 改为:

  • 防止安全弱点(窗口.开口)
  • 改善隐私(没有发送裁判员信息)
  • 弗兹纳夫林克: 与活动状态支持的导航链接
  • Fz 按钮: 用于行动的按钮组件
  • Fz鲁特-纳夫林克: 路由器-意识导航链接

版本与发布记录

@fiscozen/link 共发布 8 个版本,首次发布于 2024/06/19;过去 12 个月发布了 2 个版本。

版本发布日期距今
1.0.1latest2026/04/306 个月前
1.0.02026/02/139 个月前
1.0.0-next.0next2025/11/111 年前
0.1.42025/04/011.6 年前
0.1.32024/10/142 年前
0.1.22024/09/092 年前

关于 @fiscozen/link 的常见问题

@fiscozen/link 是什么?

设计系统链接组件

如何安装 @fiscozen/link?

在项目目录运行 npm install @fiscozen/link,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:tailwindcss(^3.4.1)、vue(^3.4.13)、vue-router(^4.3.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@fiscozen/link 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/fiscozen__link 是否存在。

@fiscozen/link 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@fiscozen/link 可以商用吗?

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

@fiscozen/link 的下载量有多少?

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

@fiscozen/link 还在维护吗?

最新版本 1.0.1 发布于 2026/04/30(6 个月前);至今共发布 8 个版本,其中过去 12 个月发布了 2 个;首次发布于 2024/06/19。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。