2017-01-24 16 views
8

में jwt-decode प्रकार परिभाषा को आयात करने के लिए कैसे करें जब मुझे लगता है कि मेरे पास टाइपस्क्रिप्ट में नियंत्रण में टाइपिंग है, तो मैं कुछ ऐसा करता हूं जो विपरीत साबित होता है।टाइपस्क्रिप्ट (आईओनिक 2)

इस बार मैं jwt-decode का उपयोग करने की कोशिश कर रहा हूं। मैं आदेश के माध्यम से typings i dt~jwt-decode --save

दो समस्याओं

1. प्रकार परिभाषा स्थापित किया है जब मैं index.d.ts मैं निम्नलिखित

declare module 'jwt-decode' { 
     namespace JwtDecode { 
     interface JwtDecodeStatic { 
      (token: string): any; 
     } 
    } 

    var jwtDecode: JwtDecode.JwtDecodeStatic; 
    export = jwtDecode; 
    export as namespace jwt_decode; 
    } 

आईडीई (वी.एस. संहिता) को देखने के लिए एक प्रदर्शित कर रहा है इस पर गौर त्रुटि "[ts] वैश्विक मॉड्यूल निर्यात केवल शीर्ष स्तर पर दिखाई दे सकता है" अंतिम पंक्ति export as namespace jwt_decode;

2. मैं इसे कैसे आयात करूं?

मैं इंपोर्ट स्टेटमेंट की कोशिश ..

import { ?? } from 'jwt-decode'; 

लेकिन मैं आयात करने के लिए कुछ भी नहीं देख सकते हैं।

मुझे लगता है कि अन्य (कई) उदाहरणों में से कोई भी मदद करने के लिए प्रतीत होता है। यह सरल होना चाहिए, मैं सिर्फ वाक्यविन्यास नहीं जानता।

किसी भी मदद के लिए अग्रिम धन्यवाद।

[अद्यतन] कुछ और पढ़ने के बाद, यह typings सिर्फ NPM का उपयोग कर ने ले लिया है की तरह लग रहा ..

तो मैं

npm install --save jwt-decode 
npm install --save @types/jwt-decode 

// and import via 
import * as JWT from 'jwt-decode'; 

की कोशिश की लेकिन फिर भी इसे सही ढंग से आयात करने के लिए नहीं मिल सकता है ।

[UPDATE2] मैं बयान let t = jwt-decode("aaa"); जोड़ सकते हैं और हस्ताक्षर देखते हैं, लेकिन है आईडीई त्रुटि निम्नलिखित

[ts] 'jwt_decode' refers to a UMD global, but the current file is a module. Consider adding an import instead.

+0

आयात * 'jtw-decode' से जेडब्ल्यूटी के रूप में; आखिरी पंक्ति में 'jwt-decode' होना चाहिए यह एक टाइपो है? –

+0

आह हाँ एक टाइपो था। फिक्स्ड और एक छोटे से अधिक जानकारी – peterc

+2

इन 3 मेरे लिए काम किया जोड़ा NPM स्थापित --save जेडब्ल्यूटी-डिकोड NPM --save @ प्रकार स्थापित/जेडब्ल्यूटी-डिकोड // और आयात आयात के माध्यम से * 'जेडब्ल्यूटी से जेडब्ल्यूटी के रूप में -decode '; – sawe

उत्तर

9

समाधान है कि मेरे लिए काम किया था:

npm install --save jwt-decode 
npm install --save @types/jwt-decode 

// and import via 
import * as JWT from 'jwt-decode'; 

// use JWT() for decode. Not jwt-decode() !! 
let t = JWT(token); 
+0

jwt टोकन से विशेष मान कैसे प्राप्त करें। यह कोणीय में संभव है। ऊपर एक वस्तु केवल प्रिंटिंग है। मुझे टी से मूल्य प्राप्त करने की आवश्यकता है। हम इसे कैसे प्राप्त कर सकते हैं। – user3198259

+0

परिवर्तनीय टी में सभी गुणों को अन्य ऑब्जेक्ट की तरह एक्सेस किया गया है। –

संबंधित मुद्दे