8

मैं वेबस्टॉर्म 2016.2, कोणीय-क्ली, वेबपैक 2 का उपयोग कर रहा हूं। तस्वीर में, मैं लाइनों 19,20,22,23 पर ब्रेकिंग पॉइंट नहीं बना सकता। जब मैं लाइन 21 पर बनाता हूं, तो कंसोल उस पंक्ति को मुद्रित नहीं करता है जिसे मैंने 1 9 पंक्ति में बताया था।क्रोम डीबगर टाइपस्क्रिप्ट फाइलों पर काम नहीं करता

मैं टीएस फाइल देख रहा हूं जिसे डीबग किया जाना चाहिए, लेकिन ऐसा लगता है कि मैं अन्य फाइल या जेएस फ़ाइल को डिबग कर रहा हूं। कोई पहुंच नहीं है।

यदि संभव हो तो मैं ts फ़ाइल को डीबग करना चाहता हूं और यदि नहीं, तो जेएस फ़ाइल।

enter image description here

कोणीय cli.json:

{ 
    "project": { 
    "version": "1.0.0-beta.11-webpack.2", 
    "name": "store-app-02" 
    }, 
    "apps": [ 
    { 
     "main": "src/main.ts", 
     "tsconfig": "src/tsconfig.json", 
     "mobile": false 
    } 
    ], 
    "addons": [], 
    "packages": [], 
    "e2e": { 
    "protractor": { 
     "config": "config/protractor.conf.js" 
    } 
    }, 
    "test": { 
    "karma": { 
     "config": "config/karma.conf.js" 
    } 
    }, 
    "defaults": { 
    "prefix": "app", 
    "sourceDir": "src", 
    "styleExt": "css", 
    "prefixInterfaces": false, 
    "lazyRoutePrefix": "+", 
    "styles": [ 
     "../node_modules/bootstrap/dist/css/bootstrap.min.css" 
    ] 
    } 
} 

tsconfig.json:

{ 
    "compilerOptions": { 
    "declaration": false, 
    "emitDecoratorMetadata": true, 
    "experimentalDecorators": true, 
    "mapRoot": "./", 
    "module": "es6", 
    "moduleResolution": "node", 
    "outDir": "../dist/out-tsc", 
    "sourceMap": true, 
    "target": "es5", 
    "typeRoots": [ 
     "../node_modules/@types" 
    ], 
    "types": [ 
     "core-js" 
    ] 
    } 
} 

उत्तर

0

अपने ts कोड और अंत में यह संकलन समय के दौरान js में बदल जाती है जावास्क्रिप्ट फ़ाइल wh है मैं वेब ब्राउज़र में लोड हो जाता है। आपके ब्राउज़र को typescript के बारे में पता नहीं है।

ts --->js (es5)।

जब डीबगर चलता है तो यह संबंधित संकलित js फ़ाइल को चलाने के लिए जा रहा है। अगर कोई त्रुटि है तो यह js फ़ाइल को इंगित करता है और .d.ts आंतरिक रूप से सहायता के साथ आपको ts फ़ाइल लाइन-नंबर (जहां त्रुटि हुई) पर मैप किया गया है।

यदि आप डीबग करना चाहते हैं, तो आप karma परीक्षण धावक का उपयोग कर सकते हैं या visual studio code का उपयोग कर सकते हैं जो विशेष रूप से डीबग विकल्प प्रदान करता है।

+0

त्वरित उत्तर के लिए धन्यवाद लेकिन मुझे आपके उत्तर में बग (?) के बीच कोई संबंध नहीं दिख रहा है । –

+1

क्रोम टाइपस्क्रिप्ट डीबग नहीं करेगा क्योंकि यह समझ में नहीं आता है। यह संबंधित जेएस फ़ाइल को इंगित करेगा। आप – candidJ

1

यदि आप टाइपस्क्रिप्ट फ़ाइलों पर टूल का उपयोग करने में सक्षम होना चाहते हैं, तो आपको आमतौर पर अपनी टाइपस्क्रिप्ट संकलित करने के साथ ही मानचित्र फ़ाइलों को उत्पन्न करने की आवश्यकता होगी।

मानचित्र फ़ाइलों में संकलित फ़ाइल के साथ मूल .ts फ़ाइल को लिंक करने के तरीके के बारे में जानकारी शामिल है। डिबगर्स जैसे टूल्स को अक्सर .ts फ़ाइलों पर कार्य करने में सक्षम होने के लिए इन फ़ाइलों की आवश्यकता होगी।

किसी ने इसे here समझाया।

इसके अलावा, यदि आप इन मैपिंग के लिए अतिरिक्त फ़ाइल नहीं बनाना चाहते हैं, तो the TypeScript compiler आपको --inlineSourceMap का उपयोग करके संकलित फ़ाइलों के अंत में सीधे इन जानकारी को जोड़ने देता है।

यहां, मुझे लगता है कि क्रोम को मानचित्र फ़ाइलों को नहीं मिला है।

+0

डिबगिंग के लिए 'विजुअल स्टूडियो कोड' संपादक को त्वरित उत्तर के लिए धन्यवाद का प्रयास कर सकते हैं लेकिन मुझे आपके उत्तर में बग (?) आईएम के बीच कोई कनेक्शन नहीं दिख रहा है। –

+0

ओह हाँ क्षमा करें, मेरा मतलब यह है कि मुझे लगता है कि या तो नक्शा फाइलें उत्पन्न नहीं हुई हैं, या क्रोम उन्हें नहीं ढूंढता है। मुझे लगता है कि आपकी कॉन्फ़िगरेशन फ़ाइल में 'स्रोत मैप' है: सत्य', क्या आप '.map' संबंधित फाइलें पा सकते हैं? और आपकी निर्देशिका में आपकी '.js' और '.ts' फ़ाइलें हैं? –

+0

मैं कोणीय-क्ली का उपयोग कर रहा हूं, इसलिए यह dist \ main.bundle.js के अंदर सभी ts फ़ाइलों के लिए संबंधित जेएस फ़ाइल उत्पन्न करता है। तो उस फ़ोल्डर से पढ़ने और डिबगिंग एक दुःस्वप्न होगा। –

-1

क्रोम पूरी तरह से डीबग करता है, ब्रेकपॉइंट्स चिपकाने और लॉग संदेशों को मुद्रित करने की अनुमति देता है। मुझे लगता है, समस्या आपके tsconfig.json में है। जैसा कि अन्य उत्तर का उल्लेख है, आपको संकलन के समय जेएस फाइलें उत्पन्न करनी होंगी।। संकलक को इसके बारे में जानने के लिए आपको जोड़ना होगा:

"compileOnSave": true 

यह आपके सहेजने के तुरंत बाद आपकी टाइपस्क्रिप्ट को संकलित करना शुरू कर देगा।

और यदि, यह अभी भी काम नहीं करता है, तो अपने ब्राउज़र के कैश को साफ़ करें और ब्राउज़र को पुनरारंभ करें। यह निश्चित रूप से जादू करेगा।

मुझे उम्मीद है कि यह मदद करता है। (मेरा क्रोम संस्करण: 52.0.2743.116 मीटर (64-बिट) -> लेकिन यह वास्तव में कोई फर्क नहीं पड़ता)

+0

उत्तर के लिए धन्यवाद लेकिन कुछ भी काम नहीं करता है। क्या कोई अन्य विवरण है जो मैं प्रदान कर सकता हूं? –

+0

मैं आपके देव उपकरण स्रोत ऐप/सेवाओं फ़ोल्डर में जेएस फ़ाइलों को देखने में सक्षम नहीं हूं। यदि सफल संकलन है, तो जेएस फ़ाइल बनाई और प्रदर्शित की जानी चाहिए। कृपया सुनिश्चित करें कि संकलन जेएस फ़ाइल के निर्माण की ओर जाता है। –

+0

@StavAlfi क्या आपने इसे हल किया? मैं ब्रेक पॉइंट्स हिट कर सकता हूं लेकिन जब मैं मूल्यों को पढ़ने की कोशिश करता हूं तो मेरे वॉचर्स और मेरी कंसोल त्रुटियों तक कोई पहुंच नहीं होती है। – Winnemucca

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