Generic selectors
Exact matches only
Search in title
Search in content
Search in posts
Search in pages

072-3944399

קריאת קבצים על ידי שרת Node

קריאת קבצים על ידי שרת node

קריאת קבצים ע"י שרת Node

אחד השימושים הנפוצים ביותר של שרת ה Node.JS  הוא שרת קבצים . המהירות והנוחות בה הוא מתמודד עם קבצים בפורמטים שונים מהווים שיקול משמעותי בבחירתו לצורך זה . ה npm  , כ אקו-סיסטם משלים, מספק לנו כמובן מספר מודולים בדיוק לצרכים אלו . במדריך זה נסקור כמה מהאפשרויות שיש לנו לקריאת קבצים .

המודול הבסיסי ביותר (והמובנה) הוא מודול ‘fs’  . נדגים קריאת קובץ ע"י השימוש בו.

הסבר :

בשורה הראשונה אנו מצהירים על השימוש במודול ‘fs’

בשורה הבאה אנו קוראים את הקובץ ע"י הפונקציה readFile . חשוב לזכור שהפונקציה היא אסינכרונית !!

למעשה, כברירת מחדל, כל הפונקציות של המודולים השונים הן אסינכרוניות וזאת על מנת לנצל היטב המאפיין הכי בולט בצורת העבודה של שרת node  , ה non-blocking IO (נושא סופר חשוב זה הינו רלוונטי לדיון אחר) .   היות וצורת העבודה היא אסינכרונית, ולא ניתן להשתמש ב try-catch  כמו בקוד סינכרוני, אנחנו עושים שימוש ב callback function  המופעלת ברגע שפעולת קריאת הקובץ מסתיימת !!

הפונקציה מקבלת 2 פרמטרים : את השגיאה (אם היתה כזו במהלך קריאת הקובץ) ואת תוכן הקובץ אותו קראנו כמובן .

 

אדגים כעת שימוש במודול אחר, "עשיר" קצת יותר בשם ‘fs-extra’ . המודול הזה אינו מובנה ויש להורידו מה npm .  בקוד המצורף ישנן 2 הדגמות להעתקת קובץ : בצורה אסינכרונית (ברירית המחדל) ובצורה סינכרונית.

ניתן לשים לב כיצד בצורה הסינכרונית אנחנו עושים שימוש ב try-catch , שכן אנו יכולים לקבל את השגיאה אם קרתה הזמן אמת, בעוד שבצורה האסינכרונית, נקבל את השגיאה "בדיעבד" כפרמטר ל callback function  שתופעל לאחר שהפעולה הסתיימה .

 

בהדגמה האחרונה, נראה כיצד לקרוא תוכן של קובץ json . גם כאן, נעשה שימוש במודול חיצוני מאוד פופולרי בשם jsonfile .

גם כאן, קריאת הקובץ נעשית בצורה אסינכרונית. למודול ישנה גם הפונקציה המקבילה, readFileSync המאפשרת לקרוא את תוכן הקובץ בצורה סינכרונית.

 

לסיכום, ראינו מספר אפשרויות במספר מודולים לעבודה עם קובץ ע"י שרת ה Node.JS. לכל מודול היכולות ולפעמים ה"הרחבות" שלו. המשותף לכולם הוא כמובן צורת העבודה המומלצת והאסינכרונית, וזאת עקב אופן פעולת ה Processing Model  שכל כך מאפיין שרת זה .

רוצה להיות כוכב על ב  Node ? 

 

 

אולי תאהב/י גם:

כיצד ניתן להיות מפתח Full Stack?

מאז כניסתו של האינטרנט לחיינו, קמים ונבנים אינספור אתרי אינטרנט בכל תחום ולכל מטרה. הצורך באתר אינטרנט איכותי ונגיש קיים לכל עסק, חברה וגם אנשים

קרא עוד »

קורס Machine Learning: Welcome to the future

סדרות וסרטים רבים עוסקים בעולם עתידני וחדשני בו קיימים רובוטים מפותחים המבצעים פעולות יומיומיות אנושיות, ובכך למעשה מייעלים את שגרת החיים של השחקנים על המסך

קרא עוד »

למה כדאי ללמוד קורס Data Analysis?

הדרישה למתכנתים מנוסים ומקצועיים עולה בהתמדה בכל עת, זאת משום שהצורך באנשי פיתוח מוכשרים קיים תמיד הודות להתפתחות הטכנולוגיה בעידן של היום. כתוצאה מכך גם

קרא עוד »

העתיד שלך בהייטק מתחיל כאן
צור איתי קשר עוד היום

072-3944399

תודה!
ניצור איתך קשר ממש בקרוב.

דילוג לתוכן