React Native with TypeScript:如何在 setup.js 中设置全局变量?
React Native with TypeScript: How to set up globals in setup.js?
我正在使用 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'.
所以我又用谷歌搜索了一下,发现了这个 'fix':
// 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');
我正在使用 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'.
所以我又用谷歌搜索了一下,发现了这个 'fix':
// 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');