【发布时间】:2019-11-04 16:40:02
【问题描述】:
我正在使用带有 NextJs 和 next-images 的 typescript。 代码是:
import css from "./style.sass";
import img from './logo.svg';
import Link from 'next/link';
export default () => <Link href="/">
<img src={img} className={css.logo}/>
</Link>;
如果没有输入,则会显示此错误:
Cannot find module './logo.svg'.ts(2307)
目前我使用以下类型(typings.ts):
declare module "*.svg" {
const value: string;
export default value;
}
declare module "*.png" {
const value: string;
export default value;
}
declare module "*.jpg" {
const value: string;
export default value;
}
使用这些 typings.ts 文件应该可以解决错误,但事实并非如此。 有人在使用时遇到同样的错误吗? 有没有更好的方法来编写 typings.ts 文件?
【问题讨论】:
-
模块是否试图解析为
.svg或.ts?你能澄清错误信息吗? -
@Yeysides 这有帮助吗?
-
你可以访问 webpack 配置吗?基于this answer,看起来您可以使用
next.config.js来使用svgr模块加载器,它可以让您导入svgs。由于您正在使用反应,您可能想要import { ReactComponent as Logo } from './logo.svg' -
@Yeysides 我已经在使用具有类似功能的下一个图像
-
只有 typescript linter 抱怨缺少类型信息
标签: typescript next.js