Mar*_*vic 9 module typescript reactjs tsconfig react-tsx
我在这里找到了一个解决方案:Webpack和Typescript图像导入
但我得到的错误是:
[ts]
Types of property 'src' are incompatible.
Type 'typeof import("*.png")' is not assignable to type 'string | undefined'.
Type 'typeof import("*.png")' is not assignable to type 'string'.
Run Code Online (Sandbox Code Playgroud)
我想我需要以某种方式投射导入,但无法弄清楚如何.我在React做这个.我看到该src属性被定义为string | undefined,这就是错误弹出的原因.
这是代码:
import * as Logo from 'assets/images/logo.png';
Run Code Online (Sandbox Code Playgroud)
HTML:
<img src={Logo} alt="" />
Run Code Online (Sandbox Code Playgroud)
并根据上述解决方案定义:
declare module "*.png" {
const value: string;
export default value;
}
Run Code Online (Sandbox Code Playgroud)
Tsconfig:
{
"compilerOptions": {
"baseUrl": "./",
"jsx": "react",
"lib": ["es5", "es6", "dom"],
"module": "commonjs",
"noImplicitAny": false,
"outDir": "./dist/",
"sourceMap": true,
"strictNullChecks": true,
"target": "es5",
"typeRoots": [
"custom_typings"
]
},
"include": ["./src/**/*.tsx"],
"exclude": ["dist", "build", "node_modules"]
}
Run Code Online (Sandbox Code Playgroud)
Vit*_*iko 40
为了react-native
在项目文件夹中创建global.d.ts文件root并在其中添加下一行
declare module '*.png' {
const value: import('react-native').ImageSourcePropType;
export default value;
}
Run Code Online (Sandbox Code Playgroud)
Piy*_*ani 26
摆脱该错误的方法之一是修改d.ts文件,如下所示:
declare module "*.png"
Run Code Online (Sandbox Code Playgroud)
去掉
{
const value: string;
export default value;
}
Run Code Online (Sandbox Code Playgroud)
或者你可以这样做:
declare module "*.png" {
const value: any;
export default value;
}
Run Code Online (Sandbox Code Playgroud)
更新
类型检查的最佳解决方案是:
declare module "*.png" {
const value: any;
export = value;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15883 次 |
| 最近记录: |