在我的Next.js web项目中,我的types/global.d.ts
是这样开始的:
declare module 'react-zeroconfig-components'
interface Product {
...
}
我使用openapi-typescript
从Swagger OpenAPI定义中生成类型,但是当我导入生成的swagger.ts
文件时:
import { definitions } from 'types/swagger'
declare module 'react-zeroconfig-components'
interface Product {
...
}
... global.d.ts
中的其他类型/接口都不再工作了:
Type error: Cannot find name 'Product'.
declare module
也停止工作:
Could not find a declaration file for module 'react-zeroconfig-components'
这是怎么回事?
1条答案
按热度按时间rvpgvaaj1#
使用
import
使文件成为模块,而不再是环境类型声明文件。要解决此问题,请使用import函数语法:这是因为如果你导入一些东西并将鼠标悬停在它上面:
您可能会看到编辑器(至少是VSCode)将
import("cool-module")
显示为类型。所以在这里我们将使用它来减少静态
import
关键字的使用。