8

में टाइपस्क्रिप्ट से संबंधित जावास्क्रिप्ट फ़ाइल डीबग करें, मैं विजुअल स्टूडियो कोड संस्करण 1.17 का उपयोग कर रहा हूं, और मेरा उद्देश्य वर्तमान टाइपस्क्रिप्ट फ़ाइल को डीबग करना है। मैं एक का निर्माण कार्य चल रहा है, इसलिए मैं हमेशा इस तरह एक इसी जावास्क्रिप्ट फ़ाइल है:वीएस कोड

src/folder1/folder2/main.ts 
src/folder1/folder2/main.js 

मैं निम्नलिखित launch.json विन्यास के साथ की कोशिश की है:

{ 
    "type": "node", 
    "request": "launch", 
    "name": "Current File", 
    "program": "${file}", 
    "console": "integratedTerminal", 
    "outFiles": [ 
    "${workspaceFolder}/${fileDirname}**/*.js" 
    ] 
} 

लेकिन मैं त्रुटि मिलती है: Cannot launch program '--full-path-to-project--/src/folder1/folder2/main.ts' because corresponding JavaScript cannot be found.

लेकिन संबंधित जावास्क्रिप्ट फ़ाइल मौजूद है!

tsconfig.json:

{ 
"compileOnSave": true, 
"compilerOptions": { 
    "target": "es6", 
    "lib": [ 
     "es2017", 
     "dom" 
    ], 
    "module": "commonjs", 
    "watch": true, 
    "moduleResolution": "node", 
    "sourceMap": true 
    // "types": [] 
}, 
"include": [ 
    "src", 
    "test" 
], 
"exclude": [ 
    "node_modules", 
    "typings" 
]} 

उत्तर

2

समस्या और अपने नक्शे फाइलों के साथ हो सकता है विन्यास के साथ नहीं।

कुछ और करने का प्रयास करने से पहले आप यह सुनिश्चित करना चाहते हैं कि आप अपने लॉन्च कॉन्फ़िगरेशन में उपयोग कर रहे पथ सही हैं।

आप अपने सिस्टम पर अस्थायी रूप से यह देखने के लिए अस्थायी रूप से पथों को प्रतिस्थापित करके ऐसा कर सकते हैं कि यह काम करता है या नहीं।

यह काम नहीं करता है आपको:

अपने tsconfig की जाँच करें और सुनिश्चित करें कि mapRootcompilerOptions के तहत कुछ भी करने के लिए सेट नहीं किया गया है। यह वही आधिकारिक दस्तावेज इसके बारे में क्या कहना है है:

Specifies the location where debugger should locate map files instead of generated locations. Use this flag if the .map files will be located at run-time in a different location than the .js files. The location specified will be embedded in the sourceMap to direct the debugger where the map files will be located.

आप के बारे में यह here

अधिकांश मामलों में, आप नहीं वास्तव में कुछ करने के लिए यह निर्धारित करना चाहते हैं और अधिक पढ़ सकते हैं। TRUE`

उत्पन्न हो रहे हैं tsconfig.json और नक्शा फाइलों में compilerOptions में स्थापित किया जाएगा:

इसके अलावा, यह सुनिश्चित करें कि

"sourceMap" बनाते हैं।

+0

डीबगर काम कर रहा है अगर abseloute पथ दिया गया है। mapRoot सेट नहीं है - मैं मूल प्रश्न संपादित करूंगा ताकि tsconfig.json शामिल हो। अंत में - नक्शा फाइलें उत्पन्न हो रही हैं। – DauleDK

+0

यदि यह पूर्ण पथ के साथ काम कर रहा है, तो इसका स्पष्ट अर्थ यह है कि आपको "प्रोग्राम" और "आउटफाइल" को सही ढंग से सेट करने की आवश्यकता है। मैंने दोनों इस तरह सेट किया है: '"प्रोग्राम": "$ {वर्कस्पेसफोल्डर} /backend/src/app.ts", "आउटफाइल": ["$ {वर्कस्पेसफोल्डर}/बैकएंड/बिल्ड/**/*। जेएस"] ' $ {workspaceFolder} आपको अपने प्रोजेक्ट के होम फोल्डर का स्थान देता है। वहां से आप अपनी फाइलों पर नेविगेट कर सकते हैं। आप नीचे दिए गए मेरे उत्तर में मेरी पूर्ण कॉन्फ़िगरेशन देख सकते हैं। stackoverflow.com/questions/31169259/... –

+0

https://stackoverflow.com/a/47215246/7022062 <- आकाश मल्होत्रा ​​ने अपनी टिप्पणी में लिंक को ठीक किया –

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