React Native с TypeScript: как настроить глобальные переменные в setup.js? - PullRequest
0 голосов
/ 14 ноября 2018

Я создаю приложение React Native с помощью TypeScript.

Я хочу использовать 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;

Но выдает ту же ошибку, и теперь я застрял. Как я могу установить глобальную переменную?

1 Ответ

0 голосов
/ 14 ноября 2018

Почему машинописная машинка компилирует .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');
...