我正在尝试覆盖任何导入它的特定打字稿模块的外观。
这是因为我有一些Webpack规则,这些规则实际上改变了该模块在输出时的输出。
我在custom.d.ts
文件中有一个自定义模块声明:
declare module '*.worker' {
class WebpackWorker extends Worker {
constructor();
}
export default WebpackWorker;
}
然后我将该模块导入为
import MyWorker from './test.worker';
const worker = new MyWorker();
但是,我似乎无法获得自定义模块声明来识别它是在我的custom.d.ts文件中声明的类型。有谁知道是否可以覆盖本地模块的导出类型?
答案 0 :(得分:0)
一种可能的解决方案是说FileA.ts有一个名为Human的导出,并且在webpack编译时,Human得到了它的名称更改为Animal的意思是在该类中添加了声明类型并导入了类似的内容...
export class Human {
bark() {
return "bark bark"
}
}
export declare class Animal extends Human {};
然后在FileB.ts中,您可以导入Animal并以安全类型使用它。