找不到模块“file-name.png”或其相应的类型声明 - Typescript React

Tam*_*jid 38 typescript reactjs

我正在尝试在我的打字稿反应项目中导入一个 png,如下所示:
import logo from 'assets/Logo.svg';

我收到了这个 TS 错误:
Cannot find module 'assets/Logo.svg' or its corresponding type declarations.ts(2307)

知道这是为什么吗?我已tsconfig.json在下面附加了我的文件,以防我配置不正确:

{
  "compilerOptions": {
    "target": "es5",
    "lib": [
      "dom",
      "dom.iterable",
      "esnext"
    ],
    "allowJs": true,
    "skipLibCheck": true,
    "esModuleInterop": true,
    "allowSyntheticDefaultImports": true,
    "strict": true,
    "forceConsistentCasingInFileNames": true,
    "noFallthroughCasesInSwitch": true,
    "module": "esnext",
    "moduleResolution": "node",
    "resolveJsonModule": true,
    "isolatedModules": true,
    "noEmit": true,
    "jsx": "react-jsx",
    "baseUrl": "src"
  },
  "include": ["src"]
} 
Run Code Online (Sandbox Code Playgroud)

moh*_*dhe 131

react-app-env.d.ts您的文件夹中应该有一个文件src
如果您没有看到它,请在src名为 的文件夹中创建一个新文件react-app-env.d.ts

现在,只需在您的文件中添加以下代码即可react-app-env.d.ts

declare module "*.png";
declare module "*.svg";
declare module "*.jpeg";
declare module "*.jpg";
Run Code Online (Sandbox Code Playgroud)

你就可以走了:)

  • @Tamjid int 应该在你的 src 文件中。/// <reference types="react-scripts" /> 声明模块“*.png”; 声明模块“*.svg”;声明模块“*.jpeg”;声明模块“*.jpg”; (4认同)
  • 我在我的项目中没有看到这样的文件?我在 src 文件夹中添加了一个具有该名称和内容的文件,但错误仍然存​​在 (3认同)
  • 啊谢谢,我把它放在我的项目的根文件夹中,将文件放在我的 src 文件夹中解决了问题。 (3认同)