我创建了一个 npm 包,在其中定义了自定义错误类并将其导出。但是,当将这些类导入到另一个项目时,尽管导入成功,TypeScript 仍会显示错误。 这是我的 npm 包的结构:
NotFoundError.ts:
import { CustomError } from "./custom-error";
export class NotFoundError extends CustomError {
statusCode = 404;
constructor() {
let message = "Route not found";
super(message);
Object.setPrototypeOf(this, NotFoundError.prototype);
}
serializeErrors() {
return [{ message: this.message }];
}
}
自定义错误.ts:
export abstract class CustomError extends Error {
abstract statusCode: number;
constructor(message: string) {
super(message);
Object.setPrototypeOf(this, CustomError.prototype);
}
abstract serializeErrors(): { message: string; fields?: string }[];
}
index.ts:
export * from "./errors/custom-error";
export * from "./errors/not-found-error";
在另一个项目中,我安装了这个 npm 包并尝试导入错误类:
import {
CustomError,
NotFoundError,
} from "@node/common";
尽管导入期间没有显示错误,但在尝试像这样使用 NotFoundError 类时:
throw new NotFoundError('error message')
TypeScript 抛出错误:
错误 TS2305:模块“
@node/common
”没有导出成员“NotFoundError”。
我正在寻求有关如何解决此问题的指导。任何见解或建议将不胜感激。预先感谢您。
您正在从 @node/common 导入 NotFoundError ,这是您自己的自定义包吗?