我正在使用 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
使用本地化)。
然后我得到错误:
[ts] Cannot find name 'global'.
所以我搜索了更多并找到了这个“修复”:
// Change to file to setup.ts and
const globalAny: any = global;
但它抛出了同样的错误,现在我被卡住了。如何设置全局变量?
为什么打字稿编译.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');
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句