我将Next.js与TypeScript一起使用,并在我的项目中配置路径别名,一切都很顺利。但我对文件夹中的index.ts
文件有点麻烦,我想做这样的事情:
// interfaces/index.ts
export type { IProfile }
// page/index.tsx
import { IProfile } from '@/interfaces';
这段代码给我带来了以下错误:
找不到模块'@interfaces;'或其相应的类型声明。
显然,解决方案是使用@/interfaces/index
导入,但我希望避免这种情况。有什么解决办法吗?
我知道这是一个老问题,但这里有一个答案。
如果您使用索引文件导出函数,并且不希望每次从interfaces
目录中导入内容时都键入@/interfaces/index
,那么您最好只键入@/interfaces
。
在tsconfig文件中,尝试以下操作:
"paths": {
"@/interfaces": ["src/interfaces/index"], // or wherever your folder lives
}
然后你可以简单地导入所需的函数,如下所示:
import { IProfile } from '@/interfaces';
这是因为您的路径别名直接查看接口文件夹中的索引文件。
希望这有帮助:(
干杯,编码快乐!