कमांड लाइन से TypeScript कैसे चलाएं: सरल से पेशेवर तरीके
\n\nआपने अपनी पहली TypeScript स्क्रिप्ट लिखी है। सब कुछ शानदार लगता है: सख्त टाइपिंग, साफ-सुथरा सिंटैक्स, IDE में ऑटो-कम्प्लीशन। लेकिन जब आप टर्मिनल खोलकर node script.ts टाइप करते हैं, तो Node.js एरर देता है। परिचित लग रहा है?
TypeScript, JavaScript का एक सुपरसेट है, और Node.js सीधे .ts फाइलों को execute नहीं कर सकता। इस लेख में हम कमांड लाइन से TypeScript चलाने के सभी वास्तविक तरीकों पर चर्चा करेंगे। आप जानेंगे कि त्वरित रन और production बिल्ड में क्या अंतर है, कब ts-node इस्तेमाल करें और कब tsx, और टूल्स में कैसे उलझें नहीं।
हम Stack Overflow के एक लोकप्रिय सवाल (5 लाख से अधिक व्यूज) पर आधारित हैं, लेकिन सिर्फ जवाब नहीं, बल्कि तरीकों की पूरी तुलना दे रहे हैं। चलिए शुरू करते हैं!
\n\nNode.js TypeScript को क्यों नहीं समझता?
\n\nटूल्स की ओर भागने से पहले, बात को समझ लेते हैं। जब आप लिखते हैं:
\n\nconst greet = (name: string): string => {\n return `Hello, ${name}!`;\n};\nconsole.log(greet('PythonLib'));\n\nNode.js : string देखता है और समझ नहीं पाता कि इसके साथ क्या करे। JavaScript स्टैटिक टाइपिंग को सिंटैक्स के हिस्से के रूप में सपोर्ट नहीं करता। इसलिए TypeScript को पहले ट्रांसपाइल (बदलना) करके JavaScript में बदलना होता है, फिर चलाना होता है।
दो मुख्य तरीके हैं:
\n- \n
- दो-चरणीय: पहले कम्पाइल करें
tsc script.ts, फिर चलाएंnode script.js। \n - एक-चरणीय: ऐसी यूटिलिटी का उपयोग करें जो दोनों काम 'मौके पर' (JIT-कम्पाइलेशन) कर दे। \n
हम दोनों विकल्पों पर गौर करेंगे, लेकिन शुरुआत सबसे लोकप्रिय एक-चरणीय तरीके से करते हैं।
\n\nतरीका 1: ts-node — क्लासिक तरीका
\n\nts-node Node.js के लिए एक TypeScript execution engine है। यह कोड को मेमोरी में कम्पाइल करता है और तुरंत Node.js को देता है। यह कमांड लाइन से TypeScript चलाने का सबसे पुराना और भरोसेमंद तरीका है, बिना किसी अतिरिक्त झंझट के।
इंस्टॉलेशन और रन
\n\nnpm install -g ts-node typescript @types/node\nts-node script.ts\n\nबस इतना ही। आपकी फाइल बिना कोई इंटरमीडिएट JS फाइल बनाए execute हो जाएगी। अंदरूनी तौर पर, ts-node स्टैंडर्ड TypeScript कम्पाइलर (tsc) का उपयोग करता है, लेकिन यह डेवलपर के लिए पारदर्शी रहता है।
उदाहरण: API के साथ काम करना
\n\n// api-demo.ts\nimport axios from 'axios';\n\ninterface Post {\n userId: number;\n id: number;\n title: string;\n}\n\nasync function fetchFirstPost(): Promise<Post> {\n const response = await axios.get<Post>('https://jsonplaceholder.typicode.com/posts/1');\n return response.data;\n}\n\nfetchFirstPost().then(post => console.log(post.title));\n// आउटपुट: sunt aut facere repellat provident occaecati excepturi optio reprehenderit\n\nचलाएं: ts-node api-demo.ts। परिणाम तुरंत कंसोल में दिखेगा।
ts-node के फायदे और नुकसान
\n\n- \n
- + सरलता: एक कमांड, दो की जगह। \n
- +
tsconfig.jsonसपोर्ट: आपकी सभी TypeScript सेटिंग्स मान्य होती हैं। \n - + REPL: बिना आर्गुमेंट के
ts-nodeकमांड एक इंटरैक्टिव TypeScript शेल खोलती है। \n - - स्पीड: हर बार रन करने पर कम्पाइलेशन होता है, बड़े प्रोजेक्ट्स में यह ध्यान देने योग्य है। \n
- - मेमोरी खपत: लंबे समय तक चलने पर (जैसे watch-मोड में) RAM अधिक खा सकता है। \n
कब उपयोग करें: स्क्रिप्ट, प्रोटोटाइप, छोटी यूटिलिटी के लिए। अगर आपको कमांड लाइन से TypeScript फाइल चलानी है जल्दी और बिना सेटअप के — ts-node आपका विकल्प है।
\n\nतरीका 2: tsx — आधुनिक और तेज़ उत्तराधिकारी
\n\ntsx (TypeScript Execute) एक नई यूटिलिटी है,