SVG를 React 17/TypeScript 구성 요소 + Ion 아이콘으로 변환하는 도구
7888 단어 reacttypescriptnodesvg
다른 사람들은 특히 아이콘에 SVG-React 구성 요소를 사용하고 있습니다.
이 도구는 여기에 있습니다: https://github.com/cpmech/svg-to-react , 아이콘뿐만 아니라 작동해야 합니다.
내가 고려한 몇 가지 주요 측면은 다음과 같습니다.
이러한 목표를 달성하기 위해 다음을 사용합니다.
svgo SVG를 최적화하기 위해 많이.
svgson fill="currentColor"(선택 사항) 수정
용법:
✔ What is the "input" directory? · /tmp/svg-to-react/assets
✔ What is the "output" directory? · /tmp/svg-to-react/svgs
✔ What is the prefix for the components? · Svg
✔ What is the base url for XCollection.tsx? ·
✔ Add fill="currentColor" if missing? (Y/n) · true
✔ Delete existent output directory? ️⚠️ (y/N) · true
🚀 Processing SVG files
... processing SvgLogoGithub
... processing SvgLogoWhatsapp
... processing SvgSync
😀 DONE
결과 코드를 사용하면 SVG 파일의 크기를 쉽게 조정하고 중앙에 배치할 수 있습니다. 이 도구는 생성된 모든 SVG를 시각화하기 위해
XCollection.tsx
구성 요소도 생성합니다.예를 들어, 나는 React 아이콘을 만드는 데 사용했습니다(다시 ;-): https://github.com/cpmech/iricons
생성된 React 구성 요소는 다음과 같습니다.
export interface SvgSyncProps {
size?: string; // size of square container
style?: React.CSSProperties; // not for height or width
}
export const SvgSync: React.FC<SvgSyncProps> = ({ size = '24px', style }) => {
return (
<div
style={{
display: 'inline-flex',
alignItems: 'center',
justifyContent: 'center',
...style,
height: size,
width: size,
}}
>
<div
style={{
position: 'relative',
height: 0,
width: '100%',
padding: 0,
paddingBottom: '100%',
}}
>
<svg
style={{
position: 'absolute',
height: '100%',
width: '100%',
left: 0,
top: 0,
}}
viewBox="0 0 512 512"
xmlns="http://www.w3.org/2000/svg"
>
<path d="..." fill="currentColor"/>
</svg>
</div>
</div>
);
};
그리고 React 프로젝트로 직접 가져올 수 있습니다.
도움이 되길 바랍니다 😀
Reference
이 문제에 관하여(SVG를 React 17/TypeScript 구성 요소 + Ion 아이콘으로 변환하는 도구), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/cpmech/a-tool-to-convert-svg-into-react-17-typescript-components-ion-icons-1m0n텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)