我正在使用以下代码导入图标:
import Icon from "!svg-react-loader?name=Icon!../images/svg/item-thumbnail.svg"
在Visual Studio Code 1.25.1中,我从tslint收到以下警告:
[ts]找不到模块 '!svg-react-loader?name =图标!../ images / svg / item-thumbnail.svg'。
即使我应用tslint ignore语句,我仍然会收到此警告:
// tslint:disable-next-line:no-implicit-dependencies
尽管我真的想摆脱此警告,但导入工作正常(即WebPack生成无错误的包)。有任何想法怎么做吗?
答案 0 :(得分:0)
要解决此问题,请在存储库types/images.d.ts
的根目录中创建文件,其内容如下:
declare module '*.svg' {
import React from 'react';
interface SVGProps {
className?: string,
width?: number,
height?: number,
}
class SVG extends React.Component<SVGProps> {}
export default SVG;
}
答案 1 :(得分:0)
要获得tslint,请执行此操作
import MyIcon from '!svg-react-loader?name=Icon!./down-arrow.svg'
将其用于您的tslint.conf
{
"rules": {
"no-implicit-dependencies": [
true,
["!svg-react-loader?name=Icon!."]
]
}
}
这有点混乱,但是它可以工作..本质上,您需要将整个加载程序字符串列入白名单。