Esbuild 和 Typescript 命名空间合并到捆绑包中不起作用

Esbuild & Typescript namespaces merge into bundle not working

提问人:pavex 提问时间:6/17/2022 更新时间:6/17/2022 访问量:376

问:

我有以下代码。我想对类使用单个命名空间 Namespace1,但我不知道如何在没有模块导入的情况下进行合并。我认为,如果在IDE和TS(npx tsc)中一切正常,那么捆绑应该没有问题。如果我使用模块,TS 中的构图不正确。类型检测(如 )不起作用。someMethod (in: Namesace1.Class1)

我把所有东西都捆绑在 esbuild 中。有没有办法做到这一点?是否可以在不导入的情况下将必要的文件合并到捆绑包中?有没有可能是esbuild错误?

class1.ts

namespace Namespace1 {
    export class Class1 {
    }
}

class2.ts

namespace Namespace1 {
    export class Class2 {
    }
}

index.ts

let class1 = new Namespace1.Class1();
console.log(class1);

let class2 = new Namespace1.Class2();
console.log(class2);

在 IDE(Visual Studio) 和 TSC 中检查是可以的,但结果包看起来像这样 - 类定义完全缺失:

(() => {
  // src/index.tsx
  var class1 = new Namespace1.Class1();
  console.log(class1);
  var class2 = new Namespace1.Class2();
  console.log(class2);
})();
//# sourceMappingURL=index.js.map
JavaScript TypeScript 命名空间 esbuild

评论


答: 暂无答案