Javascript:Webpack+Typescript+Namespace(内部模块)

Javascript: Webpack+Typescript+Namespace (internal module)

本文关键字:模块 内部 Webpack+Typescript+Namespace Javascript      更新时间:2023-09-26

我们尝试使用 Webpack 编译打字稿代码,其中我们将"模块"(现在定义为外部模块)替换为命名空间(定义为内部模块)。

进行此更改主要是为了符合打字稿的建议,并确保在 Karma 上运行基于 Jasmine 的单元测试不需要对"require"的依赖。Karma-typescript 预处理器已经配置好,测试用例运行良好,不需要"require"。

命名空间的更改导致我们删除了对 require 的依赖,当涉及到单元测试和通过 tsc 编译代码时,它运行良好。但是在使用打字稿加载器通过 Webpack 进行编译时(我尝试过 ts-loader、Webpack-typescript),输出只包含条目 ts 文件的代码,而不是它的依赖项。Tsc 已经有一个选项(--outFile)将输出连接成一个文件,但两个加载器都不使用它。

有没有办法(加载器或加载器的配置)来解决依赖关系并将其捆绑到 Webpack 生成的单个输出 js 中?

进行此更改主要是为了符合打字稿的建议,并确保在 Karma 上运行基于 Jasmine 的单元测试不需要依赖"require"。

你不需要这样做。您应该在任何地方使用 --module:commonjs 并为前端捆绑 + 保持原样使用 node 运行测试(节点本机理解 commonjs)。

我用施舍 https://github.com/alm-tools/alm/来做到这一点