一个 Nuxt 4 模块,让您可以快速愉快地使用自己的 SVG 图标。
nuxt.config.ts 中添加 nuxt-icons 到模块export default defineNuxtConfig({
modules: ['nuxt-icons']
})
assets 中创建一个 icons 文件夹:assets/iconsicons 文件夹中<nuxt-icon name="">,其中 name 是您文件夹中 svg 图标的名称如果您需要使用 svg 文件的原始颜色(例如,如果您的图标有 defs),您需要使用 filled 属性
<nuxt-icon name="mySuperIcon" filled />
如果您想使用更复杂的文件夹排列,您将不得不使用 /icons 的路径
如果您在嵌套目录中有 svg 图标,例如
📁icons
└📁admin
⠀⠀└ badge.svg
└📁user
⠀⠀└ badge.svg
那么图标的名称将基于其自己的路径目录和文件名。因此,图标的名称将是
<nuxt-icon name="admin/badge"> and <nuxt-icon name="user/badge">
为图标创建的样式如下所示
width: 1em;
height: 1em;
margin-bottom: 0.125em;
vertical-align: middle;
您可以使用常规 CSS 轻松更改这些样式,例如在您的 index.vue 文件中
<style>
.nuxt-icon svg{
margin-bottom: 0;
}
</style>
您可以下载 SVG 格式的图标并将其放入 /icons 文件夹,或者使用另一个原生支持此功能的模块:nuxt-icon
该模块从 assets/icons 文件夹中检索所有 svg 文件,覆盖它们的 height 和 width 使它们可伸缩,并使用 <nuxt-icon> 组件允许它们被使用。<nuxt-icon> 直接将 SVG 代码注入 <span>。
color、font-size 代替 fill、width、height ✅filled 属性为复杂图标使用原始配色方案 ✅npm run dev:prepare 以生成类型存根。npm run dev 以开发模式启动 playground。非常感谢 @Diizzayy 在项目开发中提供的宝贵帮助