网站搜索

在项目中使用 esbuild-loader 处理 webpack 和 TypeScript 的同时,也使用类型声明文件?


我想在 webpack 中将 ts-loader 替换为 esbuild-loader 以提高构建时间/监听编译时间。

在我们的项目中,我们使用各种类型声明文件 .d.ts 来加载类型/接口等。然而运行 esbuild-loader 时会遇到一堆关于它们的错误,如...

Module not found: Error: Can't resolve '../../../../../../interfaces/some-d-ts-file' in 'some-tsx-file.tsx'

特别是在抱怨这个的代码中...

import { SomeInterfaces } from "../../../../../../../modules/something/interfaces";

哪一个是 interface.d.ts 文件

我认为这是由于 ESBuild 中的这个警告?https://esbuild.github.io/content-types/#no-type-system

有什么方法可以绕过这个吗?是否只需要移除所有对这些 .d.ts 文件的引用?我是否可以在 esbuild-loader 之前用 TS 做一些任务/编译来修复它,或者有一些选项可以避免这个问题?

在我的 webpack.config.js 中,我是这样加载 esbuild-loader 的…

  {
    test: /\.(ts|tsx)$/,
    loader: "esbuild-loader",
    exclude: /node_modules/,
    options: {
      target: "es6",
      loader: "tsx"
    }
  },