我有一个自定义的React + Typescript + Webpack项目。我需要导入一个简单的.svg文件并在组件中使用它。Typescript报告了以下错误:
这是我的webpack配置:
定制.d.ts文件
我已经安装了svgr,将其添加到了我的webpack配置中,创建了一个custom.d.ts文件以允许在typescript中导入svg,并在tsconfig.json中指定了它。但是什么都没有起作用(目前我在Storybook中运行组件)。找不到模块
这是我的webpack配置:
module: {
rules: [
{
test: /\.(ts|js)x?$/,
exclude: /node_modules/,
use: { loader: "babel-loader" },
},
{ test: /\.css$/, use: ["style-loader", "css-loader"] },
{ test: /\.svg$/, use: ["@svgr/webpack"] },
{ test: /\.(png|svg|jpg|gif)$/, use: ["file-loader"] },
],
},
我的组件
import React, { useEffect } from "react";
import Account from "./account.svg";
export default function Icon({ icon }) {
return (
<div>
<Account/>
</div>
);
}
declare module "*.svg" {
const content: any;
export default content;
}
// added to tsconfig.json
"include": ["./src/**/*", "./custom.d.ts"],
这个svg是一个简单的<svg><path blabla/></svg>
文件。
如何修复它?