reactjs - Încercând să remediez „Nu s-a putut găsi un fișier de declarație pentru modul” din biblioteca aws-appsync cauzează o altă eroare


Folosesc biblioteca aws-appsync și primesc această eroare:

(4,42): Nu s-a putut găsi un fișier de declarație pentru modulul '@redux-offline/redux-offline/lib/types'. 'node_modules/aws-appsync/node_modules/@redux-offline/redux-offline/lib/types.js' are implicit un tip 'any'. Încercați npm install @types/redux-offline__redux-offline dacă există sau adăugați un nou fișier de declarație (.d.ts) care să conțină declare module '@redux-offline/redux-offline/lib/types';

Apoi am adăugat declare module @redux-offline/redux-offline/lib/types; în typings.d.ts pentru a verifica dacă acea eroare dispare, dar am primit altele:

/node_modules/aws-appsync/lib/store.d.ts (13,69): Nu poate fi folosit namespace-ul 'NetworkCallback' ca tip.

Acum nu știu cum să repar ultima eroare pentru că nu am găsit multe informații despre ea pe internet.

Nu știu dacă acest lucru este important, dar packages/web/node_modules/@redux-offline/redux-offline/lib/types.js este un fișier care conține doar linia "use strict";.

O soluție care funcționează este setarea noImplicitAny: false, dar am citit despre asta și nu este una bună.

Mulțumesc!

Răspuns #1

Așadar, deschid fișierul /node_modules/aws-appsync/lib/store.d.ts și sunt două tipuri importate din @redux-offline/redux-offline/lib/types:

import { NetInfo, NetworkCallback } from '@redux-offline/redux-offline/lib/types';

Apoi, în typings.d.ts am adăugat doar:

declare module '@redux-offline/redux-offline/lib/types' {
  export type NetInfo = any;
  export type NetworkCallback = any;
}

și problema a dispărut.