Khi tôi nghĩ rằng tôi có Typings trong Typecript dưới sự kiểm soát, tôi bắt gặp một cái gì đó chứng minh điều ngược lại.Làm thế nào để nhập định nghĩa kiểu giải mã jwt thành Typecript (Ionic 2)
Lần này tôi đang cố gắng sử dụng jwt-decode. Tôi đã cài đặt các định nghĩa kiểu thông qua lệnh typings i dt~jwt-decode --save
Hai vấn đề
1. Khi tôi nhìn vào index.d.ts
tôi thấy sau
declare module 'jwt-decode' {
namespace JwtDecode {
interface JwtDecodeStatic {
(token: string): any;
}
}
var jwtDecode: JwtDecode.JwtDecodeStatic;
export = jwtDecode;
export as namespace jwt_decode;
}
Các IDE (VS Code) được hiển thị một lỗi "[ts] Xuất mô-đun toàn cầu chỉ có thể xuất hiện ở cấp cao nhất" theo dòng cuối cùng export as namespace jwt_decode;
2. Làm cách nào để nhập mã này?
tôi cố gắng tuyên bố nhập khẩu ..
import { ?? } from 'jwt-decode';
nhưng tôi không thể nhìn thấy bất cứ điều gì để nhập khẩu.
Không có ví dụ nào khác (nhiều) tôi có thể thấy có vẻ hữu ích. Nó phải đơn giản, tôi không biết cú pháp.
Cảm ơn trước vì đã được trợ giúp.
[UPDATE] Sau khi một số đọc nhiều hơn, có vẻ như typings đã được thay thế bằng cách chỉ sử dụng NPM ..
Vì vậy, tôi đã cố gắng
npm install --save jwt-decode
npm install --save @types/jwt-decode
// and import via
import * as JWT from 'jwt-decode';
Nhưng vẫn không thể có được nó để nhập khẩu một cách chính xác .
[UPDATE2] tôi có thể thêm các tuyên bố let t = jwt-decode("aaa");
và xem chữ ký, nhưng có những điều sau lỗi IDE
[ts] 'jwt_decode' refers to a UMD global, but the current file is a module. Consider adding an import instead.
nhập khẩu * như JWT từ 'jtw-decode'; ở dòng cuối cùng phải là 'jwt-decode' là một lỗi đánh máy? –
Ah yes là lỗi đánh máy. Cố định và thêm một chút biết thêm – peterc
những 3 làm việc cho tôi NPM cài đặt --save JWT-decode NPM cài đặt --save @ loại/JWT-decode // và nhập khẩu qua nhập khẩu * như JWT từ 'JWT -decode '; – sawe