Значки файлов в дереве файлов с использованием VSCODE-Material-ICon-Theme.
Посетите https://uiwjs.github.io/file-icons/ и ознакомьтесь с функцией поиска, в которой есть ключевые слова, определяющие общие имена и стили значков. Например, если вы ищете «Swift», мы вызовываем каждый значок, который можно использовать в качестве стрелки. Мы также включили имя класса каждого значка для легкой копии/вставки, когда вы разрабатываете!
Они свободны в использовании и лицензированы под MIT. Используйте их везде, где вы считаете нужным, личным или коммерческим.

npm install @uiw/file-icons --save Вы можете использовать https://uiwjs.github.io/file-icons/, чтобы легко найти значок, который вы хотите использовать. После того, как вы скопировали имя CSS ClassName для желаемой иконки, просто добавьте имя класса значка и значка, например, apple в элемент HTML.
Предположим, что имя шрифта определяется как ffont , домашняя страница по умолчанию - unicode , будет генерировать:
font-class.html
index.html
symbol.html
react
ffont.json
ffont.css
ffont.eot
ffont.less
ffont.svg
ffont.symbol.svg
ffont.ttf
ffont.woff
ffont.woff2 Предварительный просмотр DEMO font-class.html , symbol.html annd index.html . Автоматически сгенерированный стиль ffont.css и ffont.less .
< svg class = " icon " aria-hidden = " true " >
< use xlink : href = " node_modules/@uiw/file-icons/fonts/ffont.symbol.svg#ffont-javascript " ></ use >
</ svg > < style >
.iconfont {
font-family: "ffont" !important;
font-size: 16px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-webkit-text-stroke-width: 0.2px;
-moz-osx-font-smoothing: grayscale;
}
</ style >
< span class =" iconfont " >  </ span > .css .less
< link rel =" stylesheet " type =" text/css " href =" node_modules/@uiw/file-icons/fonts/ffont.css " >
< i class =" ffont-javascript " > </ i > Значки используются в качестве компонентов. v1.3.0+ поддержка.
import { Android } from '@uiw/file-icons' ;
// Or
import { Android } from '@uiw/file-icons/Alipay' ;
< Android style = { { fill : 'red' } } />
< Android height = "36" / >Для непосредственного использования изображений SVG в качестве компонентов React требуется поддержка погрузчика WebPack.
Установить зависимости:
yarn add @svgr/webpack file-loaderНастройка загрузчика WebPack:
// webpack.config.js
{
test : / .svg$ / ,
use : [
{
loader : require . resolve ( '@svgr/webpack' ) ,
options : {
prettier : false ,
svgo : false ,
svgoConfig : {
plugins : [ { removeViewBox : false } ] ,
} ,
titleProp : true ,
ref : true ,
} ,
} ,
{
loader : require . resolve ( 'file-loader' ) ,
options : {
name : 'static/media/[name].[hash].[ext]' ,
} ,
} ,
] ,
issuer : {
and : [ / .(ts|tsx|js|jsx|md|mdx)$ / ] ,
} ,
} ,Затем вы можете импортировать SVG в качестве такого компонента React:
import { ReactComponent as ComLogo } from '@uiw/file-icons/icon/android.svg' ;
< ComLogo />Пользовательский компонент значка
Создайте компонент Icon .
import React from 'react' ;
import svgPaths from '@uiw/file-icons/fonts/ffont.json' ;
const renderSvgPaths = ( type ) => {
const pathStrings = svgPaths [ type ] ;
if ( pathStrings == null ) {
return null
}
return pathStrings . map ( ( d , i ) => < path key = { i } d = { d } fillRule = "evenodd" /> )
}
export default class Icon extends React . PureComponent {
render ( ) {
const { type , color } = this . props ;
if ( type == null || typeof type === "boolean" ) {
return null ;
}
return (
< svg fill = { color } viewBox = { `0 0 24 24` } > { this . renderSvgPaths ( type ) } </ svg >
) ;
}
} Используйте компонент Icon :
const demo = ( ) => {
return (
< Icon type = "android" />
)
} Как всегда, благодаря нашим удивительным участникам!
Сделано из-за контроля GitHub-Action.
Создан Svgtofont, лицензированным по лицензии MIT.