Node.js में JavaScript के साथ फ़ाइल सिस्टम के साथ काम करना: एक संपूर्ण गाइड

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

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

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

Node.js में JavaScript के साथ फ़ाइल सिस्टम पर काम करना



आधुनिक वेब डेवलपमेंट में, JavaScript लंबे समय से ब्राउज़र की सीमाओं से बाहर निकल चुका है। Node.js प्लेटफॉर्म की बदौलत, डेवलपर्स को सर्वर-साइड एप्लिकेशन बनाने, डेटाबेस के साथ काम करने और निश्चित रूप से फ़ाइल सिस्टम के साथ इंटरैक्ट करने की क्षमता मिली है। फ़ाइलों को पढ़ना, लिखना, हटाना और स्थानांतरित करना किसी भी बैकएंड डेवलपर के लिए प्रमुख कौशलों में से एक है। इस लेख में, हम विस्तार से जानेंगे कि Node.js पर JavaScript में फ़ाइल सिस्टम के साथ कैसे काम करें, बिल्ट-इन मॉड्यूल fs और इसके आधुनिक प्रॉमिस-आधारित संस्करण fs/promises का उपयोग करते हुए।



यह सामग्री उन शुरुआती लोगों के लिए उपयोगी होगी जो अभी Node.js सीखना शुरू कर रहे हैं, साथ ही अनुभवी डेवलपर्स के लिए भी जो अपने ज्ञान को व्यवस्थित करना चाहते हैं। सभी कोड उदाहरण आप अपने डेवलपमेंट एनवायरनमेंट में चला सकते हैं।



fs मॉड्यूल को जोड़ना और बुनियादी विधियाँ



Node.js में फ़ाइल सिस्टम के साथ काम करने के लिए बिल्ट-इन मॉड्यूल fs (file system) का उपयोग किया जाता है। इसे अलग से इंस्टॉल करने की आवश्यकता नहीं है - Node.js इंस्टॉल होने के बाद यह तुरंत उपलब्ध होता है। इसे मानक तरीके से जोड़ा जाता है:



const fs = require('fs');


हालांकि, आधुनिक JavaScript (ES6+) और Node.js (संस्करण 14 से शुरू) में, ES modules सिंटैक्स का उपयोग करने और fs/promises के प्रॉमिस संस्करण के साथ काम करने की अनुशंसा की जाती है। यह "callback hell" से बचने में मदद करता है और async/await का उपयोग करके अधिक स्वच्छ, एसिंक्रोनस कोड लिखने की अनुमति देता है।



import * as fs from 'fs/promises';// याconst fs = require('fs/promises');


fs मॉड्यूल की मुख्य विधियाँ तीन श्रेणियों में विभाजित हैं:



  • सिंक्रोनस - निष्पादन प्रवाह को ब्लॉक करती हैं (उदाहरण के लिए, fs.readFileSync())। इनका उपयोग शायद ही कभी किया जाता है, मुख्यतः इनिशियलाइज़ेशन स्क्रिप्ट में।
  • कॉलबैक के साथ एसिंक्रोनस - Node.js की पारंपरिक शैली (उदाहरण के लिए, fs.readFile())।
  • प्रॉमिस पर एसिंक्रोनस - आधुनिक शैली (fs/promises)। अधिकांश कार्यों के लिए अनुशंसित।


Node.js में फ़ाइलें पढ़ना



सबसे सामान्य क्रिया से शुरू करते हैं - फ़ाइल की सामग्री पढ़ना। हम दो दृष्टिकोणों पर विचार करेंगे: कॉलबैक का उपयोग करना और प्रॉमिस का उपयोग करना।



कॉलबैक के माध्यम से पढ़ना (पारंपरिक तरीका)



const fs = require('fs');

fs.readFile('example.txt', 'utf8', (err, data) => { if (err) { console.error('फ़ाइल पढ़ने में त्रुटि:', err); return; } console.log('फ़ाइल की सामग्री:', data);});


ध्यान दें: हम दूसरे आर्गुमेंट के रूप में एन्कोडिंग 'utf8' पास कर रहे हैं। यदि यह निर्दिष्ट नहीं है, तो डेटा बाइनरी बफर (Buffer) के रूप में वापस आएगा।



प्रॉमिस के माध्यम से पढ़ना (अनुशंसित तरीका)



import { readFile } from 'fs/promises';

async function readExample() { try { const data = await readFile('example.txt', 'utf8'); console.log('फ़ाइल की सामग्री:', data); } catch (err) { console.error('फ़ाइल पढ़ने में त्रुटि:', err); }}

readExample();


कोड अधिक स्वच्छ और समझने योग्य हो गया है। त्रुटियों को try/catch के माध्यम से संभाला जाता है, जो अन्य भाषाओं से परिचित डेवलपर्स के लिए सामान्य है।



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



फ़ाइल में लिखना दूसरी सबसे महत्वपूर्ण क्रिया है। Node.js में दो मुख्य विधियाँ हैं: writeFile (फ़ाइल को ओवरराइट करता है) और appendFile (फ़ाइल के अंत में डेटा जोड़ता है)।



फ़ाइल को ओवरराइट करना



import { writeFile } from 'fs/promises';

async function writeExample() { try { await writeFile('output.txt', 'नमस्ते, दुनिया!', 'utf8'); console.log('फ़ाइल सफलतापूर्वक लिखी गई'); } catch (err) { console.error('लिखने में त्रुटि:', err); }}

writeExample();


यदि output.txt फ़ाइल मौजूद नहीं है, तो यह स्वचालित रूप से बनाई जाएगी। यदि मौजूद है, तो इसकी सामग्री पूरी तरह से ओवरराइट हो जाएगी।

```

ब्लॉग

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