Ícones de arquivo na árvore de arquivos usando o tema do Material-Material VSCODE.
Visite https://uiwjs.github.io/file-iCons/ e confira o recurso de pesquisa, que possui palavras-chave identificando nomes e estilos de ícones comuns. Por exemplo, se você procurar "Swift", chamamos todos os ícones que possam ser usados como uma seta. Também incluímos o nome da classe de cada ícone para facilitar a cópia/colagem quando você está desenvolvendo!
Eles são livres para usar e licenciados no MIT. Use -os onde quer que você ache o ajuste, pessoal ou comercial.

npm install @uiw/file-icons --save Você pode usar https://uiwjs.github.io/file-icons/ para encontrar facilmente o ícone que deseja usar. Depois de copiar o nome da classe CSS do ícone desejado, basta adicionar o nome da classe do ícone e do ícone, como apple a um elemento HTML.
Suponha que o nome da fonte seja definido como ffont , a página inicial padrão é unicode , gerará:
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 Visualizar Demo font-class.html , symbol.html e index.html . Estilo gerado automaticamente ffont.css e 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 > Suporte para referências de estilos .less e .css .
< link rel =" stylesheet " type =" text/css " href =" node_modules/@uiw/file-icons/fonts/ffont.css " >
< i class =" ffont-javascript " > </ i > Os ícones são usados como componentes. v1.3.0+ Suporte.
import { Android } from '@uiw/file-icons' ;
// Or
import { Android } from '@uiw/file-icons/Alipay' ;
< Android style = { { fill : 'red' } } />
< Android height = "36" / >Para usar imagens SVG como componentes do React diretamente, o suporte ao carregador do webpack é necessário.
Instale dependências:
yarn add @svgr/webpack file-loaderConfigure o WebPack Loader:
// 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)$ / ] ,
} ,
} ,Você pode importar o SVG como um componente React como este:
import { ReactComponent as ComLogo } from '@uiw/file-icons/icon/android.svg' ;
< ComLogo />Componente de ícone personalizado
Crie um componente 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 >
) ;
}
} Use o componente Icon :
const demo = ( ) => {
return (
< Icon type = "android" />
)
} Como sempre, graças aos nossos incríveis colaboradores!
Feito com os contribuidores do GitHub-Ação.
Criado pela SVGTOFONT, licenciado sob a licença do MIT.