TypeScript में फ़ाइल सिस्टम के साथ कार्य करना: व्यावहारिक मार्गदर्शिका

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

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

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

परिचय: TypeScript में फ़ाइल सिस्टम के साथ कार्य की आवश्यकता क्यों है



TypeScript, JavaScript के ऊपर एक सख्ती से टाइप की गई परत होने के नाते, डेवलपर्स को फ़ाइल सिस्टम के साथ कार्य करने के लिए शक्तिशाली उपकरण प्रदान करता है। चाहे आप लॉग प्रोसेस करने के लिए उपयोगिता बना रहे हों, फ़ाइल अपलोड वाला वेब सर्वर, या डेटा माइग्रेशन के लिए उपकरण — फ़ाइल सिस्टम के साथ प्रभावी ढंग से इंटरैक्ट करने की क्षमता एक बुनियादी कौशल है।



इस लेख में, हम Node.js से अंतर्निहित मॉड्यूल fs (File System) का उपयोग करके TypeScript में फ़ाइल सिस्टम के साथ कार्य करने के व्यावहारिक पहलुओं पर विचार करेंगे। सभी उदाहरण विस्तृत टिप्पणियों और स्पष्टीकरणों के साथ होंगे। हम सिंक्रोनस और एसिंक्रोनस विधियों, पथों के साथ कार्य और डेटा टाइपिंग को समझेंगे।



1. प्रोजेक्ट सेटअप और fs मॉड्यूल का आयात



कार्य शुरू करने से पहले, TypeScript प्रोजेक्ट सेट करना आवश्यक है। सुनिश्चित करें कि आपके पास Node.js और पैकेज मैनेजर npm स्थापित है। एक नया प्रोजेक्ट बनाएं और Node.js के लिए प्रकार स्थापित करें:



npm init -ynpm install typescript @types/node --save-devnpm install ts-node --save-dev


एक tsconfig.json फ़ाइल बनाएं और उसमें बुनियादी सेटिंग्स जोड़ें:



{  "compilerOptions": {    "target": "ES2020",    "module": "commonjs",    "strict": true,    "esModuleInterop": true,    "outDir": "./dist",    "rootDir": "./src"  },  "include": ["src/**/*"]}


अब अपनी index.ts फ़ाइल में fs और path मॉड्यूल आयात करें:



import * as fs from 'fs';import * as path from 'path';


महत्वपूर्ण: TypeScript में हम पूरे मॉड्यूल को आयात करने के लिए import * as का उपयोग करते हैं। यह सभी विधियों की पूर्ण टाइपिंग सुनिश्चित करता है।



2. फ़ाइलें पढ़ना: सिंक्रोनस और एसिंक्रोनस दृष्टिकोण



2.1 एसिंक्रोनस रीडिंग (अनुशंसित तरीका)



TypeScript में एसिंक्रोनस विधियों का उपयोग करना बेहतर है, क्योंकि वे मुख्य निष्पादन थ्रेड को ब्लॉक नहीं करती हैं। टेक्स्ट फ़ाइल पढ़ने का उदाहरण देखें:



import * as fs from 'fs/promises';import * as path from 'path';

async function readFileExample(filePath: string): Promise<string> { try { const absolutePath = path.resolve(filePath); const content: string = await fs.readFile(absolutePath, 'utf-8'); return content; } catch (error) { if (error instanceof Error) { throw new Error(`फ़ाइल पढ़ने में त्रुटि: ${error.message}`); } throw error; }}

// उपयोग(async () => { const data = await readFileExample('./data/example.txt'); console.log('फ़ाइल की सामग्री:', data);})();


fs/promises के उपयोग पर ध्यान दें — यह प्रॉमिस के साथ मॉड्यूल का संस्करण है, जो TypeScript में async/await के साथ अच्छी तरह से एकीकृत होता है।



2.2 सिंक्रोनस रीडिंग (सरल परिदृश्यों के लिए)



कभी-कभी, उदाहरण के लिए, स्टार्टअप पर कॉन्फ़िगरेशन लोड करते समय, सिंक्रोनस विधियों का उपयोग किया जा सकता है:



import * as fs from 'fs';import * as path from 'path';

function readConfigSync(configPath: string): Record<string, unknown> { const fullPath = path.join(__dirname, configPath); const rawData = fs.readFileSync(fullPath, 'utf-8'); return JSON.parse(rawData);}

const config = readConfigSync('./config.json');console.log('कॉन्फ़िगरेशन:', config);


3. फ़ाइलों में लिखना और संशोधन



3.1 फ़ाइल में डेटा लिखना



फ़ाइल में डेटा लिखने के लिए writeFile का उपयोग करें। TypeScript लिखने से पहले डेटा को सख्ती से टाइप करने की अनुमति देता है:



import * as fs from 'fs/promises';

interface UserData { id: number; name: string; email: string;}

async function saveUserData(users: UserData[]): Promise<void> { const jsonString: string = JSON.stringify(users, null, 2); await fs.writeFile('./users.json', jsonString, 'utf-8'); con

ब्लॉग

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