Właśnie wtedy, gdy myślę, że mam pod kontrolą Wpisanie pisma, natrafiam na coś, co dowodzi czegoś przeciwnego.Jak zaimportować definicję typu jwt do Typeescript (Ionic 2)
Tym razem próbuję użyć jwt-decode. Mam zainstalowany definicji typu poprzez polecenie typings i dt~jwt-decode --save
dwa problemy
1. Kiedy patrzę na index.d.ts
widzę następujące
declare module 'jwt-decode' {
namespace JwtDecode {
interface JwtDecodeStatic {
(token: string): any;
}
}
var jwtDecode: JwtDecode.JwtDecodeStatic;
export = jwtDecode;
export as namespace jwt_decode;
}
IDE (Code VS) jest wyświetlanie error "[ts] Globalne eksporty modułów mogą pojawiać się tylko na najwyższym poziomie" pod ostatnią linią export as namespace jwt_decode;
2. Jak mogę to zaimportować?
staram instrukcji import ..
import { ?? } from 'jwt-decode';
ale nie widzę nic do zaimportowania.
Żaden z innych (wielu) przykładów, które mogę znaleźć, nie pomaga. To musi być proste, po prostu nie znam składni.
Z góry dziękuję za pomoc.
[UPDATE] Po pewnym więcej czytania, wygląda typowania został zastąpiony przez tylko używając npm ..
Więc próbowałem
npm install --save jwt-decode
npm install --save @types/jwt-decode
// and import via
import * as JWT from 'jwt-decode';
Ale wciąż nie może zmusić go do importowania poprawnie .
[Update2] mogę dodać oświadczenie let t = jwt-decode("aaa");
i zobacz podpis, ale mam następujący błąd IDE
[ts] 'jwt_decode' refers to a UMD global, but the current file is a module. Consider adding an import instead.
import * jako JWT z "jtw-decode"; w ostatniej linii powinno być 'jwt-decode' czy to literówka? –
Ah tak był literówka. Poprawiono i dodano trochę więcej informacji – peterc
te 3 pracował dla mnie npm zainstalować flagą --save JWT-dekodowania npm zainstalować --save @ typów/JWT-dekodowania // i import za pośrednictwem import * jak JWT z „JWT -rozszyfrować'; – sawe