下一个图像的类型定义
Type definitions for next-images
我正在使用 NextJs 和 next-images 的打字稿。
代码是:
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 文件?
经过数小时的尝试和错误,我找到了解决方案。
我不得不将 typings.ts 移动到 src/ 目录并将其重命名为 images.d.ts
此处解释:https://webpack.js.org/guides/typescript/#importing-other-assets
如果能回答如何以更通用的方式编写类型,那将是一件好事。
2020 年更新:
下一个图像包现在支持 TypeScript。
你需要做的就是在next-env.d.ts
中添加定义
我正在使用 NextJs 和 next-images 的打字稿。 代码是:
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 文件?
经过数小时的尝试和错误,我找到了解决方案。
我不得不将 typings.ts 移动到 src/ 目录并将其重命名为 images.d.ts
此处解释:https://webpack.js.org/guides/typescript/#importing-other-assets
如果能回答如何以更通用的方式编写类型,那将是一件好事。
2020 年更新:
下一个图像包现在支持 TypeScript。
你需要做的就是在next-env.d.ts
中添加定义