我目前正在使用vite,react和typescript创建一个web应用程序。然而,即使我使用vite-plugin-svgr在react中使用svg,它也不能正常工作。
我检查了几篇文章,但没有一篇有效。
我该怎么解决这个问题?
错误:请求的模块“/src/assets/search.svg?import”未提供名为“ReactComponent”的导出
//vite.config.ts
import { defineConfig } from "vite";
import react from "@vitejs/plugin-react";
import svgr from "vite-plugin-svgr";
// https://vitejs.dev/config/
export default defineConfig({
plugins: [
react(),
svgr()
]
});
x
//tsconfig.json
{
"compilerOptions": {
...
"types": ["vite-plugin-svgr/client"]
},
"include": ["src", "global.d.ts", "svg.d.ts"],
"references": [{ "path": "./tsconfig.node.json" }]
}
//package.json
{
...
"dependencies": {
"react": "^18.2.0",
"react-dom": "^18.2.0",
},
"devDependencies": {
"@types/node": "^20.8.4",
"@types/react": "^18.2.15",
"@vitejs/plugin-react": "^4.0.3",
"typescript": "^5.0.2",
"vite": "^4.4.11",
"vite-plugin-svgr": "^4.1.0"
}
}
//SearchBar.tsx
import styled from "styled-components";
import { ReactComponent as MainTitle } from "../assets/search.svg";
...
的数据
2条答案
按热度按时间xmd2e60i1#
字符串
而不是
型
同时在App.tsx上添加引用类型
型
或在tsconfig.json
型
ve7v8dk22#
我最近遇到了一个类似的问题,它只发生在最新版本的依赖项中。只需将版本降级到
3.2.0
,问题就应该得到解决。"vite-plugin-svgr":"@^3.2.0"
个