TypeScript Jest 全局变量示例

5

这是同样的问题,正确答案在这里,但问题涉及到Typescript。

console.log(__DEV__);

结果是:

error TS2304: Cannot find name __DEV__.

全局变量__DEV__在 package.json 中定义为:
  "jest": {
    "globals": {
      "__DEV__": true
    }
  }

有人有解决方案或者解决方法吗?

相关的Jest文档:https://jestjs.io/docs/en/next/configuration#globals-object

3个回答

3
在ts-jest中,有些配置值需要用"ts-jest"进行包装:
  "jest": {
    "globals": {
      "ts-jest": {
        "__DEV__": true
      }
    }
  }

并且可以在代码中通过以下方式进行访问:

console.log((global as any).__DEV__

在这里找到答案:https://kulshekhar.github.io/ts-jest/docs/

1
如果 ts-jest 文档链接指向提到 globals 的部分,那就太好了。 - Guilherme Abacherli

0
一个正确的解决方案是编写一个 .d.ts 文件,引入全局变量的 declare,并让 tsconfig.json 包含这个 .d.ts 文件。

-1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接