我正在用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');