保姆级教程轻松在Nuxt中使用IconPark图标库

1,414 阅读1分钟

官网传送门 @IconPark图标库

关于IconPark图标库

IconPark图标库是一个通过技术驱动矢量图标样式的开源图标库,可以实现根据单一SVG源文件变换出多种主题, 具备丰富的分类、更轻量的代码和更灵活的使用场景;致力于构建高质量、统一化、可定义的图标资源,让大多数人都能够选择适合自己的风格图标。

2020年9月3日正式开源

特点:

  • 提供超过2000+预设图标,分类
  • 支持4种主题和在线转换:线性,填充,双色,四色
  • 网站提供多种便捷操作:复制SVG code、复制React组件、复制Vue组件、下载PNG、下载SVG
  • 针对技术同学,支持图标组件代码导出,包括React Icons、Vue Icons、Vue3 Icons、SVG Icons
  • 支持项目管理:方便个性化上传、管理图标、及导出图标组件NPM包导出

image-20240516163856862.png

快速开始

新建项目

image-20240516164221639.png

image-20240516172139036.png

注意1

项目最多能创建三个

添加图标

image-20240516172715873.png

弹出对话框之后,选择要添加到的项目——点击确定,就添加成功了

image-20240516172757664.png

使用(CDN引入)

image-20240516173230219.png

Web Component: 浏览器提供的原生组件形式,天然跨框架。

SVG Symbol: SVG 原生引用形式。图标原样展现,不支持组件化能力,但具备更好的兼容性。

使用(组件)

image-20240516173754719.png

在Nuxt中使用(CDN方式)

配置

// https://nuxt.com/docs/api/configuration/nuxt-config
// nuxt.config.ts
export default defineNuxtConfig({
  devtools: { enabled: true },
  vue: {
    compilerOptions: {
      isCustomElement: (tag) => tag.startsWith("iconpark-icon"),
    },
  },
  app: {
    head: {
      script: [
        {
          src: "https://lf1-cdn-tos.bytegoofy.com/obj/iconpark/icons_33138_3.5db52669a67acd9c281275f489523c5a.js",
          // async: true,
          // defer: true,
        },
      ],
    },
  },
});

使用

image-20240516175220736.png

 <div class="base-new-card_l_b_info text-grad">
          <iconpark-icon name="preview-open"></iconpark-icon>
          {{ count?.read || 0 }}
          <iconpark-icon name="like"></iconpark-icon>
          {{ count?.admire || 0 }}
 </div>

快去自己试试吧

image.png