【发布时间】:2019-03-16 11:40:30
【问题描述】:
我正在尝试导入图像以在带有 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 Code 下划线'../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 抛出的错误?
【问题讨论】:
标签: reactjs typescript visual-studio-code bundler parceljs