mcpField
L
lucide-icons

lucide-icons

github.com/aksuharun设计与 UI1310 次安装19 周前更新
代码仓库

关于 lucide-icons

lucide-icons 是一项指导在界面项目中使用 Lucide 框架专用图标包的技能,面向开发者。内容涵盖单独导入 SVG 图标、通用属性、无障碍支持和各框架参考。

主要功能

  1. 01框架专用图标包
  2. 02可单独导入的内联 SVG 图标
  3. 03通用尺寸、颜色和描边属性
  4. 04Tree-shaking 使用指南
  5. 05无障碍与动态图标指南
  6. 06各框架对应的参考文件

适用场景

  1. 01在框架界面中添加 SVG 图标
  2. 02在构建包中仅导入所用图标
  3. 03渲染名称来自动态数据的图标

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/aksuharun/skills --skill lucide-icons

安装后在 Claude Code 中输入/lucide-icons确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

references/
lucide-angular.md
lucide-astro.md
lucide-preact.md
lucide-react-native.md
lucide-react.md
lucide-solid.md
lucide-static.md
lucide-svelte.md
lucide-vue-next.md
lucide.md

详细介绍

Lucide Icons

Lucide 提供针对特定框架的程序包——每个图标都是可单独导入并渲染为内联 SVG 的组件或元素。所有程序包都完全支持摇树优化。

图标命名

  • 程序包导出使用 PascalCase:Camera、ArrowRight、CircleAlert
  • CSS/HTML 数据属性和图标字体类使用 kebab-case:data-lucide="circle-alert"、icon-circle-alert
  • 在 lucide.dev/icons 查找图标名称

通用属性

所有框架程序包都共享以下核心属性:

proptypedefault
sizenumber24
colorstringcurrentColor
strokeWidthnumber2
absoluteStrokeWidthbooleanfalse

所有程序包也接受任意 SVG 表现属性作为属性(例如 fill、stroke-linejoin)。

最佳实践

  • 始终使用摇树优化:只导入你使用的图标。生产环境的构建包中不要导入 * as icons。
  • 直接导入图标(例如 from 'lucide-react/icons/camera')可绕过程序包入口文件,提升构建性能。
  • 按名称动态加载:只有在图标名称来自动态数据(例如 CMS)时,才使用 DynamicIcon(React)或通用封装组件。
  • 无障碍性:图标默认设置为 aria-hidden="true"。当图标具有含义时,请添加 aria-label。

框架参考文件

请阅读所用框架对应的参考文件:

框架 / 环境程序包参考文件
Reactlucide-reactreferences/lucide-react.md
Vue 3lucide-vue-nextreferences/lucide-vue-next.md
Svelte 5 (or 4)@lucide/sveltereferences/lucide-svelte.md
SolidJSlucide-solidreferences/lucide-solid.md
Preactlucide-preactreferences/lucide-preact.md
Angularlucide-angularreferences/lucide-angular.md
Astro@lucide/astroreferences/lucide-astro.md
React Nativelucide-react-nativereferences/lucide-react-native.md
Vanilla JS / HTMLlucidereferences/lucide.md
Static / No-framework / Node.jslucide-staticreferences/lucide-static.md

Lucide Lab(自定义 / 非官方图标)

Lucide lab 提供主库中没有的额外图标。所有程序包都支持通过其 Icon 组件使用 lab 图标:

// React example — same pattern works across React, Preact, Solid, Astro, Svelte, Vue
import { Icon } from 'lucide-react';
import { coconut } from '@lucide/lab';

<Icon iconNode={coconut} color="red" size={32} />

评论

支持 Markdown