我正在使用TypeScript构建React Native应用。
我要使用jest-fetch-mock。在文档中说创建setup.js
文件并添加
global.fetch = require("jest-fetch-mock");
在其中。我做到了但是我得到了错误:
[ts] Cannot compile namespaces when the '--isolatedModules' flag is provided.
因此,我搜寻了一下,发现我只需要导入即可解决此问题(这很好,因为我需要导入才能设置NativeModules.ReactLocalization
才能使用localization)。
然后我得到了错误:
[ts] Cannot find name 'global'.
所以我在Google上搜索了更多的内容,并找到了这个“修复程序”:
// Change to file to setup.ts and
const globalAny: any = global;
但是它抛出了同样的错误,现在我被卡住了。如何设置全局变量?
答案 0 :(得分:1)
为什么打字稿会编译.js
文件?
如果您有setup.ts
文件:请尝试在declare var global: any;
之前添加global.fetch = ...
。
但是,我建议您在项目中使用键入内容:
npm i -D @types/node @types/jest
然后扩展的global
对象将如下所示:
declare module NodeJS {
interface Global {
fetch: GlobalFetch
}
}
global.fetch = require('jest-fetch-mock');