تحويل أيقونات SVG إلى مكونات رد الفعل
npm i pixoتمرير دليل أو مسار ملف SVG كوسيطة أولى.
$ pixo src --out-dir distسيتم تحسين كل رمز SVG تلقائيًا وإعادة تسميته إلى اسم ملف علبة Pascal للمكون. يمكن بعد ذلك استيراد مكونات الأيقونات إلى تطبيق React.
import React from 'react'
import CheckIcon from './CheckIcon'
const App = props => (
< div >
< CheckIcon />
</ div >
)يتضمن قالب المكون الافتراضي الدعائم لـ:
size (رقم) عرض بكسل وارتفاعه (افتراضي 24 )color (السلسلة) إلى سمة fill SVG (الافتراضي 'currentcolor' ) يجب أن تتوافق كل رمز SVG مع ما يلي:
viewBox Square ، ويفضل 0 0 24 24<path> عناصر يتضمن PIXO الدعم التجريبي لـ <circle> و <polygon> و <rect> عناصر.
سيتم تجاهل العناصر التالية:
<defs> أو <clipPath>fill="none"<ellipse> عناصر<line> عناصر<polyline> عناصر<path>يمكن لمعظم تطبيقات الرسومات تحويل الأشكال إلى مسارات SVG.
Compound Pathيستخدم Pixo قالبًا افتراضيًا لتقديمه ، ولكنه يتضمن بعض الخيارات المدمجة.
default : SVG عادي بدون تصميمstyledSystem : المكون المصنوع من الهامش والحشو والدعائم الملونة من نظام التصميم لاستخدام قالب مخصص ، تم نقل مسار إلى القالب الخاص بك إلى العلم --template .
pixo icons --template custom-template.jsيجب أن يكون القالب وظيفة تقوم بإرجاع سلسلة لرمز مصدر المكون ، مكتوب كوحدة Node.js.
// default template
module . exports = ( {
name ,
viewBox ,
pathData
} ) => `import React from 'react'
const ${ name } Icon = ({
size,
color,
...props
}) => (
<svg
{...props}
viewBox=' ${ viewBox } '
width={size}
height={size}
fill={color}
>
<path d=' ${ pathData } ' />
</svg>
)
${ name } Icon.displayName = ' ${ name } Icon'
${ name } Icon.defaultProps = {
size: 24,
color: 'currentcolor'
}
export default ${ name } `حجج وظيفة القالب
name الجمل المغطى يمكن استخدامه لاسم المكونviewBox قيمة ViewBox الأصلية من SVGpathData لسمة <path> لعنصر d يمكن تمرير الخيارات كعلامات إلى CLI أو إضافتها إلى حقل pixo في package.json الخاصة بك. json
قم بتشغيل pixo --help لمشاهدة قائمة الخيارات.
outDir (سلسلة) (DIST)template (سلسلة) اسم قالب مدمج أو مسار إلى قالب مخصصindex (منطقي) إنشاء وحدة برميل index.jsiconComponent (Boolean) إنشاء مكون Icon.js غلافrecursive (منطقية) قراءة متكررة جميع SVGs في الدلائل الفرعيةأعلام CLI
-d --out-dir Output directory
-t --template Name of built-in template or path to custom template
-i --index Include index.js barrel module
-c --icon-component Include wrapper Icon.js component
-r --recursive Recursively read all SVGs in subdirectories مثال package.json
{
"pixo" : {
"outDir" : " dist " ,
"template" : " ./custom-template.js " ,
"index" : true ,
"iconComponent" : true ,
"recursive" : true
}
}رخصة معهد ماساتشوستس للتكنولوجيا