כיצד להשתמש ב-Body-parser Middleware ב-Node.js?

Kyzd Lhstms B Body Parser Middleware B Node Js



בזמן התמודדות עם בקשות HTTP POST, טכניקת 'ניתוח הגוף' משחקת תפקיד משמעותי בטיפול בגופם. זה מאפשר למשתמשים לנתח את גופי הבקשות הנכנסות כדי לשנות אותם בהתאם לדרישות. טכניקה זו מנתחת את גוף בקשת המחרוזת לתוך אובייקט JavaScript JSON שניתן להשתמש בו ביישום 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, בצע את שלבי ההוראות שלהלן:

בואו נתחיל באתחול של פרויקט 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.