最佳答案
我正在尝试导入图像,以便在使用 TypeScript 的 React 组件中使用。我使用的捆绑包是 Parcel (不是 Webpack)。
我已经在项目中创建了一个带有图像文件扩展名的 .d.ts
文件,并将其包含在 tsconfig.json
中。但是,当我试图导入一个图像时,TS 会对我大喊 Cannot find module
。
我的项目结构:
+ src
+ assets
- image.jpg
+ components
- Box.tsx
- App.tsx
- index.d.ts
- index.html
- index.tsx
- tsconfig.json
- tslint.json
我试图导入的图像在 App.tsx
像这样。 VS 代码下划线的 '../assets/image.jpg'
和说 Cannot find module '../assets/image.jpg'
。
import * as React from 'react';
import * as img from '../assets/image.jpg';
const Box = props => {
// do things...
}
export default Box;
我在网上找到的讨论指出需要自己定义一个 .d.ts
文件,所以我用这一行创建了这个 index.d.ts
文件。
declare module '*.jpg';
然后在 tsconfig.json
中加入 "include": ["./src/index.d.ts"]
,在 "compilerOptions" : {...}
之后。
我错过了什么? 我如何修复 TS 抛出的错误?