TS-Jest 无法识别 webpack 定义插件变量

TS-Jest fails to recognize webpack Define plugin variables

我正在尝试 运行 (TS)-Jest 在我的应用程序中包含一些在构建时由 Webpack 注入的全局变量(使用定义插件)

例如:

console.log(`Current build: ${__BUILD_VERSION}`)

变量 __BUILD_VERSION 没有在代码中的任何地方定义,所以 TS 抱怨它。

这是尝试 运行 开玩笑时的输出:

src/.../.../file.ts - error TS2304: Cannot find name '__BUILD_VERSION'.

我曾尝试将它们定义为 Jest“全局变量”,但没有成功。显然是 Typescript 错误,所以也许我应该尝试 tsconfig.json?

如果你在 运行 jest 时需要这个变量,那么在你的 jest.config 中设置 globals flag flag(或者在 package.json 中,如果你将它用于配置):

"globals": {
  "__BUILD_VERSION": 123,
  "YOUR_OTHER_VARIABLE": 'foo'
}

如果您需要修复 Typescript,那么您需要在某处声明该变量,例如创建 globals.d.ts 文件并在那里声明它:

declare const __BUILD_VERSION: string;