מתאר מהיר
- מהי Middleware ב-Node.js?
- מהי Body-Parser Middleware ב-Node.js?
- כיצד להשתמש ב-Body-parser Middleware ב-Node.js?
- סיכום
נתחיל עם היסודות של תוכנת הביניים ב-Node.js.
מהי Middleware ב-Node.js?
כלי ביניים היא פונקציה שנותנת גישה לבקש אובייקט, להגיב לאובייקט ולבצע את הפונקציה באופנים עוקבים על ידי מעבר לפונקציית התווך הבאה במחזור הבקשה-תגובה של היישום. זה גם מספק גישה לשנות את אובייקטי הבקשה והתגובה לביצוע פעולות כמו אימות, ניתוח הגופים המבקשים ועוד הרבה יותר.
מהי Body-Parser Middleware ב-Node.js?
ה ' מנתח גוף ” היא תוכנת ביניים לניתוח גוף המנהלת את בקשות ה-HTTP POST. בקשת 'POST' שולחת את הנתונים לשרת כדי ליצור או לשנות את המשאב. תוכנת האמצע 'bode-parser' מנתחת את גופי הבקשות הנכנסות כאובייקט JavaScript (אם סוג התוכן של האפליקציה הוא JSON) ואת טופס ה-HTML (אם סוג MIME הוא application/x-www-form-urlencoded ). ברגע שזה נעשה, אז זה יכול לשמש ביישום.
לאחר קבלת היסודות של תוכנת הביניים מנתח הגוף, בואו נקפוץ לשימוש בה.
כיצד להשתמש ב-Body-parser Middleware ב-Node.js?
כדי להשתמש בתוכנת ה-body-parser ב-Node.js, בצע את שלבי ההוראות שלהלן:
- שלב 1: אתחול פרויקט Node.js
- שלב 2: התקן את Body Parser
- שלב 3: התקן את Express ו-EJS
- שלב 4: צור תבנית EJS
- שלב 5: השתמש ב-Body Parser Middleware
- שלב 6: פרוס את אפליקציית Node.js
בואו נתחיל באתחול של פרויקט Node.js.
שלב 1: אתחול פרויקט Node.js
ראשית, אתחל את פרויקט Node.js על ידי ביצוע ' npm (מנהל חבילות צומת)' פקודת אתחול:
npm init - ובפקודה לעיל, ' -ו' הדגל משמש כדי לענות על כל השאילתות 'כן'.
הפלט מראה כי ' package.json ' נוצר בהצלחה המכיל את קבוצת המאפיינים הבאה:
שלב 2: התקן את Body Parser
לאחר מכן, התקן את חבילת ה-body-parser באפליקציית Node.js הנוכחית על ידי ביצוע ' npm ' פקודת התקנה:
npm להתקין גוף - מנתחהפלט שלהלן מראה שחבילת ה-body-parser הותקנה בהצלחה ביישום הנתון של Node.js:
שלב 3: התקן את Express ו-EJS
כעת, התקן את ' לֹא (Embedded JavaScript Templating)' ביישום Node.js. ה-'ejs' הוא מנוע ה-JavaScript הנחשב בשימוש על ידי Node.js שלוקח את נתוני ה-HTML כ-Javascript רגיל:
npm להתקין ejsניתן לראות שספריית 'ejs' נוספה לאפליקציית Node.js הנוכחית:
בנוסף, התקן את ' אֶקְסְפּרֶס ' מסגרות אינטרנט לבניית אפליקציית Node.js במהירות ובקלות:
npm להתקין אקספרסה'אקספרס' נוסף גם לאפליקציית Node.js:
שלב 4: צור תבנית EJS
לאחר התקנת כל החבילות הדרושות, צור תבנית 'ejs' עם שורות הקוד הבאות ושמור אותה כ' SampleForm.ejs 'קובץ:
DOCTYPE html >< html >
< רֹאשׁ >
< כותרת > גוּף - מנתח כלי ביניים כותרת >
רֹאשׁ >
< גוּף >
< מֶרְכָּז >
< h1 > יומן לדוגמא h1 >
< טופס פעולה = 'לשמור מידע' שיטה = 'הודעה' >
< מִרֹאשׁ >
< תווית > כותרת : תווית >< סוג קלט = 'טֶקסט' שֵׁם = 'כותרת' > < br >
< תווית > תַאֲרִיך תווית >< סוג קלט = 'תַאֲרִיך' שֵׁם = 'תַאֲרִיך' >< br >
< תווית > תַאֲרִיך תווית >< סוג קלט = 'תַאֲרִיך' שֵׁם = 'תַאֲרִיך' >< br >
< סוג קלט = 'שלח' ערך = 'שלח יומן' >< br >
מִרֹאשׁ >
טופס >
מֶרְכָּז >
גוּף >
html >
ההסבר של הקוד לעיל הוא כדלקמן:
- ה ' <כותרת> ' תג מציין את הכותרת של מסמך ה-HTML.
- ה ' <מרכז> ' תג מיישר את התוכן במרכז דף האינטרנט.
- ה ' ' תג מוסיף רכיב כותרת ברמה הראשונה.
- ה ' <טופס> ' תג יוצר אלמנט טופס שאוסף מידע מהמשתמש. בתוך אלמנט 'טופס' ה- ' פעולה תכונה ' מציינת את הפעולה שמתבצעת בעת שליחת הטופס ואת ' שיטה תכונה בעלת ערך 'פוסט' שולחת נתונים לשרת.
- ה ' ' תג מציג את האלמנטים שצוינו בעמוד בעלי רוחב הגופן הקבוע זהה לקוד המקור.
- ה ' <תווית> ' תג מציין את התווית של שדה הקלט.
- ה ' <קלט> 'סוג מוסיף את שדה הקלט מסוג ' טֶקסט ' והשם ' כותרת '.
- שני התגים הבאים של ' ' מוסיפים את שדות הקלט של הסוגים והשמות שצוינו.
שלב 5: השתמש ב-Body Parser Middleware
כעת צור קובץ '.js' בשם ' index.js ' והשתמש בתוכנת ה-body-parser שבו כדי לנתח את גופי כל הבקשות הנכנסות. כאשר הקובץ '.js' נוצר, העתק בו את שורות הקוד הבאות:
const bodyparser = לִדרוֹשׁ ( 'מנתח גוף' )const אֶקְסְפּרֶס = לִדרוֹשׁ ( 'אֶקְסְפּרֶס' )
const נָתִיב = לִדרוֹשׁ ( 'נָתִיב' )
const אפליקציה = אֶקְסְפּרֶס ( )
תן לפורט = תהליך. env . נמל || 8080
אפליקציה. מַעֲרֶכֶת ( 'צפיות' , נתיב. לְהִצְטַרֵף ( __שם שם ) )
אפליקציה. מַעֲרֶכֶת ( 'מנוע צפייה' , 'לא' )
אפליקציה. להשתמש ( bodyparser. מקודד urlen ( { מורחב : נָכוֹן } ) )
אפליקציה. להשתמש ( bodyparser. json ( ) )
אפליקציה. לקבל ( '/' , פונקציה ( דרישה, מילואים ) {
מילואים לְדַקלֵם ( 'טופס לדוגמה' )
} ) ;
אפליקציה. הודעה ( '/לשמור מידע' , ( דרישה, מילואים ) => {
לְנַחֵם. עֵץ ( 'שימוש ב-Body-parser:' , דרישה גוּף )
} )
אפליקציה. להקשיב ( PORT, פונקציה ( שְׁגִיאָה ) {
אם ( שְׁגִיאָה ) לזרוק שְׁגִיאָה
לְנַחֵם. עֵץ ( 'שרת נוצר ב-PORT' , נמל )
} )
ההסבר של שורות הקוד האמורות לעיל כתוב להלן:
- ראשית, ה' לִדרוֹשׁ() ' השיטה מייבאת את המודולים 'body-parser', 'express' ו-'path' באפליקציית Node.js הנוכחית.
- לאחר מכן, צור מופע של היישום המפורש בעזרת ' אֶקְסְפּרֶס() 'קונסטרוקטור.
- לאחר מכן, ה' process.env ' מאפיין מפעיל את השרת המקומי על ברירת המחדל ' נמל '. אם יציאת ברירת המחדל תפוסה אז השרת יפעיל ביציאה שצוינה שהיא ' 8080 '.
- כעת הגדר את מנוע התצוגה בעזרת תוכנת האמצע שצוינה בה ה-'views' מציין את התיקיה שבה כל דפי האינטרנט נשמרים וה-' path.join() ' השיטה מצטרפת למקטעי הנתיב של הספרייה הנוכחית ויוצרת נתיב יחיד.
- לאחר שהכל נעשה, ' app.use() שיטת ' מציבה את ' מנתח גוף 'תווך בנתיב הנתון. תוכנת הביניים הזו של מנתח הגוף משתמשת ב-' מקודד urlen ' מנתח שמנתח רק את הגופים 'מקודדים ב-urlencode' שכותרת 'סוג התוכן' שלהם תואמת לאפשרות 'סוג'.
- 'מנתח הגוף' השני משתמש ב-' JSON ” מנתח כדי לנתח את גופי הבקשות הנכנסות כאובייקט JSON בפורמט מפתח-ערך.
- ה ' app.get() ' השיטה שולחת את בקשת ה-HTTP 'GET' בנתיב שצוין ומבצעת פונקציית התקשרות חוזרת בעלת ה-' req (בקשה)', ו' מילואים (להגיב)' פרמטרים.
- בתוך פונקציית ההתקשרות חזרה, ' res.render() ' השיטה מעבדת את התגובה כאשר פונקציית ה-callback שצוינה מופעלת.
- שיטת 'app.post()' שולחת את בקשת ה-HTTP 'POST' שהיא מאובטחת יותר מכיוון שהיא לא מציגה את הנתונים בכתובת האתר. זה גם מגדיר פונקציית התקשרות חוזרת המשתמשת ב-' Req.body ' כדי לקבל את הנתונים משדות קלט.
- לבסוף, ה' app.listen() השיטה בונה חיבור על היציאה שצוינה ומגדירה את פונקציית ההתקשרות חזרה. בפונקציה זו, ' אם המשפט ' זורק שגיאה אם היא מתרחשת במהלך הפעלת התוכנית, וה-' console.log() ' מציג את הצהרת האישור בקונסולה.
שלב 6: פרוס את אפליקציית Node.js
לבסוף, פרוס את אפליקציית Node.js בעזרת ' צוֹמֶת ' מילת מפתח בדרך זו:
אינדקס צומת. js
ביצוע הפקודה לעיל מציג הודעת אישור שהשרת נוצר ביציאה שצוינה בהצלחה:
כעת בקר בכתובת האתר הבאה http://localhost:8080 כדי לראות את היומן לדוגמה. בדף האינטרנט 'יומן לדוגמא' מלא את כל שדות הקלט, ולחץ על ' שלח יומן לחצן ' כדי לשמור את התוכן:
ניתן לראות כי לאחר שליחת המידע, הטרמינל מציג אוטומטית את כל גופי רכיבי ה-HTML המשמשים ב'יומן לדוגמה' כאובייקט JSON:
זה הכל על שימוש בתוכנת הביניים מנתח גוף ב-Node.js.
סיכום
כדי להשתמש ב' מנתח גוף ' ב-Node.js השתמש ב-' מקודד urlen ' וה ' JSON ' מנתחים שמנתחים את הגוף של כל הבקשות הנכנסות ומציגים אותן כאובייקט JSON. הוא מטפל בגופי הבקשות 'POST' ומנתח אותם כדי לאחזר את התוכן של כל האלמנטים המשמשים במסמך ה-HTML. זה מספק דרך פשוטה וקלה ביותר לעבד את התאריך שנשלח על ידי גוף בקשת ה-HTTP הנכנס. פוסט זה הוכיח באופן מעשי את השימוש בתוכנת ה-body-parser ב-Node.js.