اگه با SVG تو پروژههای فرانتاند زیاد سر و کار داشته باشی، میدونی که مدیریت آیکونها و تبدیلشون به کامپوننتهای React/Vue/… همیشه یه گوشهای از کارو آزاردهنده میکنه.
من هم مثل خیلیها از ابزارهای مختلف استفاده میکردم مثل SVGR اما یک سری دردسر ها داشت:
وابستگیهای زیاد و بیدلیل
خروجیهایی که با استایلهای پروژه جور نبود
پرفورمنسی که با زیاد شدن آیکونها افت میکرد
نیاز به کانفیگهای عجیب و غریب
ساخته شدن آیکونهای تکراری و بیاستفاده که حجم پروژه رو الکی بالا میبرد
پکیجهای مشابه معمولاً چندین لایه لودر، پلاگین یا کتابخانه پشتشونه.
SVGER-CLI هیچ وابستگیای نداره که باعث نصب سریعتر و کانفیگ راحتتر میشه .
خروجیها همون چیزی هستن که باید باشن:
یک کامپوننت سبک، ساده و بدون کد اضافه.
نه کلاسهای عجیب تولید میکنه، نه استایلهای اضافی، نه پراپرتیهای بیفایده.
خیلی از ابزارهای موجود بهخاطر سربار لودرها و پلاگینها، روی پروژههای بزرگ کند میشن.
اینجا همهچیز به صورت مستقیم روی فایلها انجام میشه، بدون مرحلههای اضافی.
ابزارهای مشابه معمولاً روی یک فریمورک متمرکزند، اما این پکیج خروجی مستقل تولید میکنه و قابل استفاده در هر محیطیه.
ساختار خروجی و سازماندهی آیکونها کاملاً تمیز و قابل نگهداریه.
هیچ فایل اضافه، هیچ فولدر غیرضروری.
چجوری نصب و استفادش کنی؟نصب و استفاده
npm install -g svger-cli svger build src/assets/icons src/components/icons
با قابلیت watch هر تغییر روی فایلها لحظهای تشخیص داده میشه و کامپوننتها فوراً آپدیت میشن، بدون هیچ تأخیر یا سنگینی اضافی.
با قابلیت lock، میتونی فایلهای مورد نظرتو قفل کنی تا موقع تغییر یا آپدیت بهطور تصادفی پاک یا جایگزین نشن.
خودکار یک فایل index.ts میسازه و همه آیکونها رو برای ایمپورت آماده میکنه، دیگه نیازی به export دستی نیست.
لینک npm:
https://www.npmjs.com/package/svger-cli
لینک github:
https://github.com/faezemohades/svger-cli
