typescript - टाइपस्क्रिप्ट की स्ट्रिंग एंमम-"प्रकार... प्रकार टाइप करने योग्य नहीं है..."




enums visual-studio-2017 (3)

2.4 की तुलना में पुराने टाइप टाइप के संस्करण के साथ संकलन करते समय आपको यह त्रुटि मिलती है। सभी मैं यह सुझाव दे सकता हूं कि आपकी प्रोजेक्ट में इंस्टॉल किए गए नए एक का उपयोग करने के बजाय विज़ुअल स्टूडियो की आपकी कॉपी किसी भी प्रकार के अपने पुराने संस्करण को टाइपस्क्रिप्ट के रूप में चुनना है। टाइपक्रिप्ट को अपडेट करने के निर्देशों के लिए विकी https://github.com/Microsoft/TypeScript/wiki/Updating-TypeScript-in-Visual-Studio-2017 देखें।

PS C:\temp> cat t.ts
enum StepType {
    Start = 'S',
    Activity = 'A',
    Decision = 'D',
    End = 'E'
}
PS C:\temp> node somepath\node_modules\typescript\bin\tsc --version
Version 2.2.2
PS C:\temp> node somepath\node_modules\typescript\bin\tsc t.ts
t.ts(2,13): error TS2322: Type '"S"' is not assignable to type 'StepType'.
t.ts(3,16): error TS2322: Type '"A"' is not assignable to type 'StepType'.
t.ts(4,16): error TS2322: Type '"D"' is not assignable to type 'StepType'.
t.ts(5,11): error TS2322: Type '"E"' is not assignable to type 'StepType'.
PS C:\temp> tsc --version
Version 2.4.1
PS C:\temp> tsc t.ts
PS C:\temp>

मैंने हाल ही में TypeScript के संस्करण को 2.3.4 से 2.4.0 तक उन्नत कर दिया है, ताकि स्ट्रिंग एनोम का उपयोग करने की उम्मीद की जा सके। मेरे निराशा के लिए, हालांकि, मुझे त्रुटि संदेश के साथ स्वागत किया गया है:

गंभीरता कोड विवरण परियोजना फ़ाइल पंक्ति दमन राज्य त्रुटि टीएस 3232 टाइप '' ई '' टाइप करने के लिए असाइन नहीं है 'स्टेपटाइप'। ClientApp (tsconfig प्रोजेक्ट) Z: \ स्मार्ट \ स्मार्ट \ स्मार्ट \ ग्राहक अनुप्रयोग \ एप \ मॉडल \ process.model.ts 17 सक्रिय त्रुटि TS2322 प्रकार '' एस '' टाइप करने के लिए असाइन नहीं है 'स्टेपटाइप'। क्लाइंट ऐप (tsconfig प्रोजेक्ट) Z: \ स्मार्ट \ स्मार्ट \ स्मार्ट \ ग्राहक अनुप्रयोग \ एप \ मॉडल \ process.model.ts 14 सक्रिय त्रुटि TS2322 प्रकार '' ए '' टाइप करने के लिए असाइन नहीं है 'स्टेप टाईप'। क्लाइंट ऐप (tsconfig प्रोजेक्ट) Z: \ स्मार्ट \ स्मार्ट \ स्मार्ट \ ग्राहक अनुप्रयोग \ एप \ मॉडल \ process.model.ts 15 सक्रिय त्रुटि TS2322 प्रकार '' डी '' टाइप करने के लिए असाइन नहीं किया गया है 'StepType' ClientApp (tsconfig प्रोजेक्ट) Z: \ स्मार्ट \ स्मार्ट \ स्मार्ट \ ClientApp \ एप \ मॉडल \ process.model.ts 16 सक्रिय

त्रुटि संदेश निम्न कोड स्निपेट पर लागू होते हैं (लाइन नंबरों के साथ):

13. export enum StepType {
14.    Start = 'S',
15.    Activity = 'A',
16.    Decision = 'D',
17.    End = 'E'
18. }

मैं विजुअल स्टूडियो 2017 का उपयोग कर रहा हूं जो दावा करता है कि TypeScript 2.4.0 स्थापित है:

मैं टाइपस्क्रिप्ट के मुद्दों के माध्यम से खोजा था, लेकिन भाग्य के बिना क्या किसी को भी इसे ठीक करने के लिए पता है?


डंकन के जवाब से प्रेरित होकर, मुझे मूल कारण मिला। हालांकि एप्लिकेशन टाइपस्क्रिप्ट 2.4 का उपयोग कर रहा था, हालांकि वीएस के इंटेलेसिन्स अभी भी 2.3 में फंस गया था।

इस मुद्दे को हल करने का तरीका टाइपस्क्रिप्ट 2.4 एसडीके को डाउनलोड और इंस्टॉल करना था और फिर नए संस्करण के विकल्प से चयन करना था:


यह इसलिए है क्योंकि टाइपस्क्रिप्ट संस्करण

कमांड प्रॉम्प्ट या टर्मिनल खोलें। तो इन आज्ञाओं को चलाएं

TypeScript संस्करण की जांच करें

tsc -v

2.4 से अधिक होना चाहिए

अगर नहीं।

विश्व स्तर पर टाइपस्क्रिप्ट का नवीनतम संस्करण स्थापित करें

npm install typescript -g

प्रोजेक्ट की अपनी पैकेज। जेएसओन फाइल खोलें और नए स्थापित संस्करण के साथ इस तरह टाइप करें

"typescript": "~2.6.1"

फिर node_modules फ़ोल्डर को हटा दें

साफ का उपयोग कर कैश

npm cache clean

अंत में भागो

npm install

* नोट करें कि: आप एनपीएम अद्यतन एनपीएम अद्यतन कर सकते हैं लेकिन यह सुनिश्चित नहीं है कि टाइपस्क्रिप्ट संस्करण को अपडेट किया जाएगा *





typescript2.4