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

קריאת קבצים על ידי שרת 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 ? 

 

 

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

למי מתאים קורס Java Script?

כל עוד אתם מעוניינים להרחיב את הידע שלכם בשפות התכנות השונות, כנראה ששפת Java Script תהיה אחת השפות הראשונות שיהיה כדאי להתחיל איתן. שוקלים להירשם

קרא עוד »

קורס Machine Learning

קורס Machine Learning בהנחיית יניב ארד, הוא אחד מהקורסים שהולכים ונעשים יותר ויותר פופולאריים, במיוחד בשנים האחרונות עם התקדמות תחום הבינה המלאכותית. קורס Machine Learning

קרא עוד »

למי מתאים קורס Angular?

עם ליווי אישי וסיוע צמוד של אחד מבכירי מדריכי פיתוח ה-WEB בארץ, גם אתם יכולים ללמוד קורס Angular ולהרחיב משמעותית את יכולות הפיתוח שלכם. אנחנו

קרא עוד »

מה לומדים בקורס Angular?

אם אתם מחפשים מידע בנוגע לקורסים כמו קורס Angular, כנראה שאתם מעוניינים לחדד ולשדרג את מיומנויות פיתוח ה-WEB שלכם. ומאחר שחברות גדולות כיום מקבלות לשורות

קרא עוד »

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

072-3944399

תודה!

דילוג לתוכן