我想从一个模块中导出所有内容,除了一些我想覆盖的功能。像这样的东西:
import * as Base from "base-module";
const extendMeOld = Base.extendMe;
delete Base.extendMe;
export * from Base;
export function extendMe() {
extendMeOld();
someOtherCode();
}
如何使用 Typescript 实现这一点?
我想从一个模块中导出所有内容,除了一些我想覆盖的功能。像这样的东西:
import * as Base from "base-module";
const extendMeOld = Base.extendMe;
delete Base.extendMe;
export * from Base;
export function extendMe() {
extendMeOld();
someOtherCode();
}
如何使用 Typescript 实现这一点?
为了保持它可摇树的 id 建议如下
export { doNotExtendMe, meNeigher } from "base-module";
import { extendMe as extendMeOld } from "base-module";
export function extendMe() {
extendMeOld();
someOtherCode();
}
这很丑陋,但这有效:
import { extendMe as extendMeOld } from "base-module";
export function extendMe() {
extendMeOld();
someOtherCode();
}
// @ts-ignore
export * from Base;
我想首先导出的内容优先。我很惊讶并期望它是相反的(导出覆盖),但也许模块解析是运行时的事情?
无论如何,一个超载另一个并且tsc
会为此生气,但你可以让它忽略这个问题。