TypeScript और फ़ाइलें: 15 मिनट में शुरुआती से विशेषज्ञ तक

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

TypeScript में फ़ाइलों के साथ काम करना डरावना नहीं, बल्कि सुविधाजनक क्यों है

\n\n

जब मैंने TypeScript में लिखना शुरू किया, तो मुझे यह सोचकर डर लगता था: "फ़ाइलों का क्या? ब्राउज़र में तो सब कुछ आसान है, लेकिन यहाँ - सर्वर, डिस्क, पथ..."। लेकिन जैसा कि पता चला, TypeScript में फ़ाइलों और फ़ाइल सिस्टम के साथ काम करना LEGO कंस्ट्रक्टर जोड़ने जैसा है: स्पष्ट भाग हैं (मॉड्यूल fs और path), एक निर्देश है (टाइपिंग), और परिणाम अनुमानित होता है। कोई आश्चर्य नहीं, केवल साफ कोड।

\n\n

इस लेख में, हम समझेंगे कि आधुनिक Node.js के लिए TypeScript का उपयोग करके फ़ाइलों को कैसे पढ़ें, लिखें, नाम बदलें और हटाएं। आप जानेंगे कि पुराने fs के बजाय fs/promises का उपयोग क्यों करना चाहिए, पथों में कैसे भ्रमित न हों और त्रुटियों को खूबसूरती से कैसे संभालें। चलिए शुरू करते हैं!

\n\n

तैयारी: शुरू करने से पहले क्या जानना चाहिए

\n\n

कोड में कूदने से पहले, सुनिश्चित करें कि आपके पास Node.js (संस्करण 14+ - इसमें पहले से ही नेटिव प्रॉमिस हैं) स्थापित है। साथ ही एक सरल प्रोजेक्ट बनाएं:

\n\n
mkdir ts-files-demo\ncd ts-files-demo\nnpm init -y\nnpm install typescript @types/node --save-dev\nnpx tsc --init
\n\n

tsconfig.json फ़ाइल में, "module": "NodeNext" या "ESNext" और "target": "ES2022" को शामिल करना सुनिश्चित करें। अब आप TypeScript फ़ाइल सिस्टम के साथ काम करने के लिए तैयार हैं।

\n\n

हमेशा काम आने वाले इम्पोर्ट

\n\n

आज फ़ाइलों के साथ काम करने के लिए मॉड्यूल इम्पोर्ट करने का सबसे सही तरीका है:

\n\n
import { readFile, writeFile, unlink, mkdir, access } from 'fs/promises';\nimport { join, dirname, basename, extname } from 'path';\nimport { fileURLToPath } from 'url';
\n\n

ध्यान दें: हम कॉलबैक के साथ fs का उपयोग नहीं कर रहे हैं। केवल fs/promises - यह आधुनिक मानक है जो async/await और TypeScript टाइपिंग के साथ पूरी तरह से मेल खाता है।

\n\n

फ़ाइल पढ़ना: सरल से सुरक्षित तक

\n\n

चलिए क्लासिक से शुरू करते हैं - एक टेक्स्ट फ़ाइल पढ़ते हैं। मान लीजिए, हमारे पास कुछ सामग्री के साथ data.txt है।

\n\n
import { readFile } from 'fs/promises';\n\nasync function readTextFile(filePath: string): Promise<string> {\n  try {\n    const content = await readFile(filePath, 'utf-8');\n    return content;\n  } catch (error) {\n    console.error('फ़ाइल पढ़ने में त्रुटि:', error);\n    throw error;\n  }\n}\n\n// उपयोग\nconst data = await readTextFile('./data.txt');\nconsole.log(data);
\n\n

सरल है, है ना? लेकिन वास्तविक प्रोजेक्ट्स में हम अक्सर JSON के साथ काम करते हैं। आइए जेनेरिक के साथ एक सार्वभौमिक फ़ंक्शन बनाएं:

\n\n
import { readFile } from 'fs/promises';\n\nasync function readJsonFile<T>(filePath: string): Promise<T> {\n  const raw = await readFile(filePath, 'utf-8');\n  return JSON.parse(raw) as T;\n}\n\n// उदाहरण: कॉन्फ़िग पढ़ना\ninterface Config {\n  port: number;\n  dbUrl: string;\n}\n\nconst config = await readJsonFile<Config>('./config.json');\nconsole.log(config.port); // टाइप number — TypeScript स्वयं बताएगा
\n\n

यही है TypeScript फ़ाइलों के साथ काम करना अपने सर्वोत्तम रूप में: टाइपिंग आपको मूर्खतापूर्ण गलतियों से बचाती है, और कोड पढ़ने योग्य रहता है।

\n\n

फ़ाइल में लिखना: डेटा बनाना और अपडेट करना

\n\n

अब जानकारी सहेजना सीखते हैं। writeFile फ़ंक्शन फ़ाइल को ओवरराइट करता है यदि वह मौजूद है, या एक नई फ़ाइल बनाता है।

\n\n
import { writeFile, mkdir } from 'fs/promises';\nimport { dirname } from 'path';\n\nasync function saveToFile(filePath: string, data: string): Promise<void> {\n  // पहले सुनिश्चित करें कि फ़ोल्डर मौजूद है\n  const dir = dirname(filePath);\n  await mkdir(dir, { recursive: true });\n\n  // अब लिखें\n  await writeFile(filePath, data, 'utf-8');\n  console.log(`फ़ाइल ${filePath} सफलतापूर्वक सहेजी गई`);\n}\n\n// ऑब्जेक्ट को JSON के रूप में सहेजना\nconst user = { name: 'अन्ना', age: 28, role: 'admin' };\n                

ब्लॉग

पुस्तक अनुशंसाएँ