推荐开源项目:Ng Icons —— Angular开发者的图标库利器

推荐开源项目:Ng Icons —— Angular开发者的图标库利器

ng-icons The ultimate icon library for Angular ng-icons 项目地址: https://gitcode.com/gh_mirrors/ng/ng-icons

项目介绍

Ng Icons Logo

Ng Icons 是一款专为 Angular 开发者设计的全功能图标库,它通过一个统一的图标组件,支持使用来自多个图标集的图标。该项目包含了超过 56,000 个图标,极大地丰富了开发者在项目中的图标选择。

目前,Ng Icons 支持以下图标库:

  • Bootstrap Icons
  • Heroicons
  • Ionicons
  • Material Icons
  • Material File Icons
  • CSS.gg
  • Feather Icons
  • Jam Icons
  • Octicons
  • Radix UI Icons
  • Tabler Icons
  • Akar Icons
  • Iconoir
  • Cryptocurrency Icons
  • Simple Icons
  • Typicons
  • Dripicons
  • UX Aspects
  • Circum Icons
  • Remix Icon
  • Font Awesome
  • Iconsax
  • TDesign Icons
  • Lets Icons
  • Huge Icons
  • Devicon

如果你有其他图标集的建议,可以通过创建 Issue 来提出,项目团队会考虑添加。

项目技术分析

Ng Icons 采用了 MIT 许可证,是一个开源项目,其持续开发得益于贡献者和赞助者的支持。该项目支持从 Angular 11.x.x 到 18.x.x 的多个版本,具体版本对应关系如下:

| Angular Version | Ng Icon Version | | --------------- | --------------- | | 11.x.x | 12.x.x | | 12.x.x | 12.x.x - 13.x.x | | 13.x.x | 13.x.x - 17.x.x | | 14.x.x | 17.x.x - 22.x.x | | 15.x.x | 23.x.x - 24.x.x | | 16.x.x | 25.x.x | | 17.x.x | 26.x.x - 27.x.x | | 18.x.x | 28.x.x - 29.x.x |

需要注意的是,Ng Icons 依赖于现代浏览器特性,设计用于支持常青浏览器,不兼容 IE11 等老旧浏览器。

项目及技术应用场景

Ng Icons 适用于任何需要图标资源的 Angular 项目,无论是企业级应用、个人项目还是开源项目,都可以通过引入 Ng Icons 来丰富界面表现力。其支持多种图标集的特性,使得开发者可以根据项目风格和需求灵活选择合适的图标。

具体应用场景包括但不限于:

  • Web 应用界面:用于导航栏、按钮、工具栏等界面元素的图标展示。
  • 移动应用界面:在 Hybrid 应用中,使用 Ng Icons 提供的图标来提升用户体验。
  • 数据可视化:在图表、仪表盘等数据展示界面中使用图标,使信息更直观。
  • 内容管理系统:在内容编辑和展示界面中使用图标,提升内容的可读性和美观性。

项目特点

丰富的图标资源

Ng Icons 整合了多个流行的图标库,提供了超过 56,000 个图标,满足各种项目需求。

简单易用

通过简单的安装和配置,即可在 Angular 项目中引入和使用图标。支持模块化和独立组件的使用方式,灵活便捷。

高度可配置

支持自定义图标的大小、颜色和描边宽度,满足个性化的界面设计需求。

兼容性强

支持从 Angular 11 到 18 的多个版本,适应不同项目的技术栈。

安全性高

提供 Content Security Policy 配置选项,确保在严格的安全策略下也能正常使用。

动态加载

支持动态加载图标,提升应用的性能和用户体验。

错误处理

提供日志记录和异常抛出机制,帮助开发者快速定位和解决问题。

安装和使用

安装

首先,安装核心包和所需的图标集:

npm i @ng-icons/core @ng-icons/heroicons ...

yarn add @ng-icons/core @ng-icons/heroicons ...

使用

在模块中导入 NgIconsModule 并注册所需的图标:

import { NgIconsModule } from '@ng-icons/core';
import { featherAirplay } from '@ng-icons/feather-icons';
import { heroUsers } from '@ng-icons/heroicons/outline';

@NgModule({
  imports: [BrowserModule, NgIconsModule.withIcons({ featherAirplay, heroUsers })],
})
export class AppModule {}

在模板中使用图标:

<ng-icon name="featherAirplay"></ng-icon>

全局配置

可以通过 provideNgIconsConfig 进行全局配置:

import { NgIconsModule, provideNgIconsConfig } from '@ng-icons/core';

@NgModule({
  imports: [BrowserModule, NgIconsModule],
  providers: [
    provideNgIconsConfig({
      size: '1.5em',
      color: 'red',
    }),
  ],
})
export class AppModule {}

内容安全策略

在严格的内容安全策略下,添加配置以确保正常使用:

import { provideNgIconsConfig, withContentSecurityPolicy } from '@ng-icons/core';

bootstrapApplication(AppComponent, {
  providers: [provideNgIconsConfig({}, withContentSecurityPolicy())],
});

日志和异常处理

启用异常日志记录器,严格检查未注册图标的错误:

import { provideNgIconsConfig, withExceptionLogger } from '@ng-icons/core';

bootstrapApplication(AppComponent, {
  providers: [provideNgIconsConfig({}, withExceptionLogger())],
});

总结

Ng Icons 作为一款功能强大且易于使用的图标库,为 Angular 开发者提供了丰富的图标资源和灵活的配置选项,极大地提升了开发效率和用户体验。无论是新手还是资深开发者,都值得尝试和引入到自己的项目中。立即访问 Ng Icons GitHub 仓库 开始使用吧!

ng-icons The ultimate icon library for Angular ng-icons 项目地址: https://gitcode.com/gh_mirrors/ng/ng-icons

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

吴发崧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值