परिचय: TypeScript मेरी फ़ाइलें क्यों नहीं देख पा रहा है?
\n\nआपने TypeScript प्रोजेक्ट खोला, बिल्ड रन किया, और अचानक — बैम! — एक ठंडा झटका: tsconfig.json: Build:No inputs were found in config file। यह परिचित लगता है? अगर आपने कभी TypeScript कॉन्फ़िगर किया है, तो आपने यह एरर ज़रूर देखी होगी। यह नए लोगों को डराती है और प्रोफेशनल्स को परेशान करती है। लेकिन घबराएं नहीं या Microsoft को कोसने की ज़रूरत नहीं है।
इस लेख में, हम सिर्फ एरर को जल्दी से ठीक करना नहीं सिखाएंगे। हम इसकी एनाटॉमी समझेंगे: यह क्यों होती है, किन परिस्थितियों में आती है, और tsconfig.json को कैसे सेट करें ताकि यह मैसेज फिर कभी न दिखे। यह उन लोगों के लिए भी उपयोगी है जो अभी TypeScript सीख रहे हैं, और उनके लिए भी जो कंपाइलर की गहराई को समझना चाहते हैं।
और हाँ, हम हिंदी में, जीवंत उदाहरणों के साथ बात करेंगे। चलिए शुरू करते हैं!
\n\nएरर "Build:No inputs were found in config file" का क्या मतलब है?
\n\nअगर कंपाइलर की भाषा को आम भाषा में अनुवाद करें, तो TypeScript आपसे कह रहा है: "मुझे नहीं पता कि कौन सी फ़ाइलों को कंपाइल करना है। आपने प्रोजेक्ट बनाने को कहा, लेकिन यह नहीं बताया कि सोर्स फ़ाइलें कहाँ हैं।" कंपाइलर tsc .ts और .tsx फ़ाइलें ढूंढता है, लेकिन उन डायरेक्टरीज़ में कुछ नहीं मिलता जो आपने (या उसने खुद) बताई हैं।
यह एरर दो सामान्य स्थितियों में होती है:
\n- \n
- आपने अभी-अभी एक खाली फ़ोल्डर में
tsconfig.jsonबनाया है। \n - आपने
include,excludeयाrootDirफ़ील्ड्स को गलत तरीके से सेट किया है। \n
आइए प्रत्येक कारण को विस्तार से समझें, ताकि आप सिर्फ हल कॉपी न करें, बल्कि यह भी समझें कि यह क्यों काम करता है।
\n\nकारण #1: प्रोजेक्ट में TypeScript फ़ाइलें नहीं हैं
\n\nसबसे सामान्य लेकिन आम कारण। आपने एक फ़ोल्डर में tsconfig.json बनाया जहाँ कोई .ts फ़ाइल नहीं है। कंपाइलर ईमानदारी से खोजता है — और कुछ नहीं मिलता।
समस्या का उदाहरण:
\nmy-project/\n├── tsconfig.json\n└── (और कुछ नहीं)\n\nnpx tsc चलाएँ — और एरर मिलती है। हल स्पष्ट है: कम से कम एक index.ts फ़ाइल बनाएँ।
कैसे ठीक करें:
\nmy-project/\n├── tsconfig.json\n├── src/\n│ └── index.ts # <-- यह रहा, बचाने वाला!\n\nलेकिन क्या होगा अगर फ़ाइलें हैं और एरर फिर भी आ रही है? तब गहराई में जाएँ।
\n\nकारण #2: include फ़ील्ड में गलत पथ दिया गया है
\n\ntsconfig.json में include फ़ील्ड कंपाइलर को बताती है: "यहाँ फ़ाइलें ढूंढो।" अगर आपने कोई गैर-मौजूद फ़ोल्डर या गलत पथ दिया, तो कंपाइलर को कुछ नहीं मिलेगा।
गलत कॉन्फ़िगरेशन:
\n{\n "compilerOptions": {\n "target": "ES2020",\n "module": "commonjs",\n "outDir": "./dist"\n },\n "include": ["src/**/*"] // लेकिन src फ़ोल्डर मौजूद नहीं है!\n}\n\nइस उदाहरण में, src फ़ोल्डर मौजूद नहीं है। कंपाइलर ईमानदारी से src/**/* पैटर्न से फ़ाइलें ढूंढने की कोशिश करता है, नहीं मिलतीं — और एरर देता है।
कैसे ठीक करें:
\n- \n
- जाँचें कि आपने
includeमें जो फ़ोल्डर दिया है, वह मौजूद है या नहीं। \n - सुनिश्चित करें कि उस फ़ोल्डर में
.tsया.tsxफ़ाइलें हैं। \n - रिलेटिव पथ का उपयोग करें। अगर आपका
tsconfig.jsonरूट में है और सोर्सsrc/में, तो"src/**/*"लिखें। \n
सही कॉन्फ़िगरेशन:
\n{\n "compilerOptions": {\n "target": "ES2020",\n "module": "commonjs",\n "outDir": "./dist"\n },\n "include": ["src/**/*"]\n}\n// सुनिश्चित करें कि src फ़ोल्डर मौजूद है और उसमें .ts फ़ाइलें हैं\n\nकारण #3: include और exclude के बीच विरोध
\n\nकभी-कभी आप include में एक फ़ोल्डर देते हैं, लेकिन फिर exclude में उसे बाहर कर देते हैं।