美文网首页
react18 ts中使用 svg

react18 ts中使用 svg

作者: VIAE | 来源:发表于2022-12-14 11:30 被阅读0次

create-react-app中已经集成@svgr/webpack
webpack.config.js

module:[
    rules:[
        {
            test:/\.svg$/,
            use:[
                {
                  loader:require.resolve("@svgr/webpack"),
                  options:{
                    prettire:false,
                    svgo:false,
                    svgoConfig:{
                      plugins:[{removeViewBox:false}],
                    },
                    titleProp:true,
                    ref:true
                  }
                }
            ],
            issuer:{
              and:[/.(ts|tsx|js|jsx|md|mdx)/]
            },
            resourceQuery:{not:[/url/]}
        },
        {
          test:/\.svg$/,
          type:'asset',
          issuer:{
            and:[/.(ts|tsx|js|jsx|md|mdx)/]
          },
          resourceQuery:/url/
        }
    ]
]

react-app-env.d.ts

...
declare module '*.svg'{
  import * as React from 'react';
  
  export const ReactComponent:React.FunctionComponent<React.SVGProps<SVGSVGElement> & {title?:string}>;
  
  const content:ReactComponent;
  export default content;
}

declare module '*.svg?url'{
  const src:string;
  export default src;
}
...

使用方法
方法一:矢量图引入

import Add from '@Icons/tianjia.svg'

<Add width="30px" height={30}/>

方法二:作为图片被引入 必须携带 ?url,与svgComponent区分开

import Change from '@Icons/qiehuan.svg?url'

<img src={Change}/>

相关文章

  • react18 ts中使用 svg

    create-react-app中已经集成@svgr/webpackwebpack.config.js react...

  • vite-ts-vue3.0引入svg

    使用vite-plugin-svg-icons插件 vite.config.ts 中的配置插件 在 src/mai...

  • vite+vue3.0+ts配置单个使用svg图标

    1、安装 2、在vite.config.ts中 3、封装一个svg组件 4、使用 ①、使用时,如果想按需引入 ②、...

  • react18 ts中使用 alias

    将create-react-app中集成的webpack配置弹出 修改config/paths.js文件 修改co...

  • [整理]SVG Path Animations

    SVG描边动画,使用了SVG图形中PATH标签的stroke特性制作的动画。 为什么使用SVG? 相对于其他的图片...

  • SVG的引入及坑

    在Vue项目中使用需要先安装svg-sprite-loader 先在.d.ts文件中加入两行代码,如下 在vue....

  • CANVAS与SVG

    原文 SVG使用XML描述2D图形。canvas使用js描绘2D图形。SVG基于XML意味着SVG DOM中每个元...

  • canvas和svg的区别

    SVG SVG 是一种使用 XML 描述 2D 图形的语言。 SVG 基于 XML,这意味着 SVG DOM 中的...

  • vite+vue3 使用svg icon(包括element-p

    1、安装依赖 2、在vite.config.ts文件中 且按照iconDirs中路径准备好svg文件 3、创建引入...

  • 2018-11-15

    svg SVG 在HTML页面中怎样使用? (1)使用 标签 : 优势:所有主要浏览器都支持,并允许使用脚本 ...

网友评论

      本文标题:react18 ts中使用 svg

      本文链接:https://www.haomeiwen.com/subject/ordhqdtx.html