【发布时间】:2021-01-19 15:08:41
【问题描述】:
我正在使用 TypeScript 处理服务器端项目。
我在ooo.d.ts中定义了一些类型。我在tsconfig.json 中设置了paths。
但是当我尝试导入我定义的类型时,它显示错误,Module '"../../@types/express-custom-types"' has no exported member 'CustomError'.
项目结构如下。
├── src
│ └── routes
│ └── errorHandlers.ts
├── tsconfig.json
└── @types
└── express-custom-types
└── index.d.ts
我在index.d.ts 中定义类型,如下所示。
declare module "express-custom-types" {
export type ErrorBody = { type: string; status: number; message: string };
}
我在 tsconfig.json 中定义了别名
"compilerOptions": {
...(omit)...
"baseUrl": "./",
"paths": {
"*": ["*"],
"@custom-types/*": ["@types/*"],
},
然后像这样导入errorHandlers.ts中的类型。
import { ErrorBody } from "@custom-types/express-custom-types";
但它显示错误Module '"../../@types/express-custom-types"' has no exported member 'ErrorBody'.
我不知道该怎么办..
【问题讨论】:
-
删除
declare module "express-custom-types"包装。你为什么需要它?我猜没有这样的模块 -
@AlekseyL。非常感谢你。这对我有用:) 那么我什么时候应该使用
declare module语法?顺便说一句,请写下您的评论作为答案,然后我会接受。 -
在答案中添加了更多信息
标签: node.js typescript express tsconfig type-declaration