首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
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

回答 6

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

Stack Overflow用户

发布于 2022-01-12 16:39:11

如果有人对接受的答案有问题,请尝试这个包中描述的解决方案:https://www.npmjs.com/package/vite-plugin-svgr

import { ReactComponent as Logo } from './logo.svg'

出于某种原因,我无法使用公认的答案来构建

票数 7
EN

Stack Overflow用户

发布于 2022-10-16 14:16:54

您应该使用@svgr/rollup而不是vite-plugin-svgrvite-plugin-svgr不是一个好的选择,因为它不支持svgo,而且它使用esbuild来转换一些svg代码,在es5环境中可能会出现一些问题。

最糟糕的是vite-plugin-svgr不能添加svgo插件,请看这个问题:https://github.com/pd4d10/vite-plugin-svgr/issues/49

代码语言:javascript
运行
复制
npm install @svgr/rollup -D
代码语言:javascript
运行
复制
import { defineConfig } from 'vite';
import react from '@vitejs/plugin-react';
import svgr from '@svgr/rollup';

export default defineConfig({
  plugins: [react(), svgr()]
});
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70309561

复制
相关文章

相似问题

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