React Native with TypeScript:如何在setup.js中设置全局变量



我正在用TypeScript构建一个React Native应用程序。

我想用笑话取乐。在文档中,它说要创建setup.js文件并添加

global.fetch = require("jest-fetch-mock");

我做到了。但我得到了错误:

[ts] Cannot compile namespaces when the '--isolatedModules' flag is provided.

所以我在谷歌上搜索了一下,发现我只需要导入一些东西就可以解决这个问题(这很好,因为我需要导入来设置NativeModules.ReactLocalization以使用本地化(。

然后我得到错误:

[ts] Cannot find name 'global'.

所以我在谷歌上搜索了更多,发现了这个"修复":

// Change to file to setup.ts and
const globalAny: any = global;

但它也犯了同样的错误,现在我陷入了困境。如何设置全局变量?

为什么typescript编译.js文件?

如果您有setup.ts文件:请尝试在global.fetch = ...之前添加declare var global: any;

然而,我建议你在你的项目中使用打字法:

npm i -D @types/node @types/jest

然后扩展global对象将如下所示:

declare module NodeJS {
  interface Global {
    fetch: GlobalFetch
  }
}
global.fetch = require('jest-fetch-mock');

相关内容

  • 没有找到相关文章

最新更新