网站搜索

带有 ts 扩展名和 webworkers 的 Typescript 环境通配符声明


我已经将任何 *.worker.ts 配置为在 webpack 中使用 webworker 加载器。一切在编译时都很好,但 TypeScript 类型定义不喜欢这样。

在 https://webpack.js.org/loaders/worker-loader/ 上,他们有一种使用环境声明来修复类型的方法,但是使用的是 worker! 风格的通配符,我认为这种方法太啰嗦了。我已经通过类似 declare module "*.gif" 的方式让图像正常工作了。然而,我怀疑 .ts 扩展名存在一些问题,导致我无法匹配它。

my.worker.ts

// doesn't matter what's in here

index.tsx

import Worker from './my.worker';

worker.d.ts

declare module "*.worker.ts" {
  class WebpackWorker extends Worker {
    constructor();
  }

  export default WebpackWorker;
}

我也尝试过使用 declare module "*.worker",但没有效果。

有可能让这件事成功吗?