首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法导入Vite作为ReactComponent的SVG

无法导入Vite作为ReactComponent的SVG
EN

Stack Overflow用户
提问于 2021-12-10 19:32:47
回答 6查看 15.6K关注 0票数 18

尝试使用此库:vite-插件-react svg

但通过进口却没有成功,例如:

代码语言:javascript
运行
复制
import { ExternalLink } from 'assets/svg/link-external.svg?component';

这个问题有什么解决办法吗?

我之前遇到的错误如下:

代码语言:javascript
运行
复制
import { ReactComponent as ExternalLink } from 'assets/svg/link-external.svg';

//Uncaught SyntaxError: 
  The requested module '/src/assets/svg/link-external.svg?import'
  does not provide an export named 'ReactComponent'
EN

Stack Overflow用户

回答已采纳

发布于 2021-12-11 09:36:23

使用vite-plugin-svgr

  1. SVGR添加到项目中

yarn add -D @honkhonk/vite-plugin-svgr

  1. 将插件SVGR添加到vite.config.js中的vite中
代码语言:javascript
运行
复制
import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'
import svgr from '@honkhonk/vite-plugin-svgr'

export default defineConfig({
  plugins: [ svgr(), react()]
})
  1. App.tsx中,通过在SVG的导入指令中添加?component,将svg导入为React组件:
代码语言:javascript
运行
复制
import Happy from './assets/svg/happy.svg?component'

<Happy />

您可以在SVGR上找到更多关于https://react-svgr.com/docs/ecosystem/#articles的信息。

票数 36
EN
查看全部 6 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70309561

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档