מודול זה למטרות כלליות מכיל פונקציות שימושיות רבות שיכולות לחסוך לך את המאמץ בכתיבת קוד נוסף.
מודול util מספק קבוצה של כלי עזר שבהם אתה יכול להשתמש כדי לנפות באגים, לבדוק ולעצב נתונים ביישומי Node.js.
התעמק בפונקציות השונות של מודול util וחקור כמה דוגמאות שיעזרו לך למנף את הכלים הללו.
רישום ביתר נוחות
רישום מתייחס לתיעוד מידע או אירועים חשובים, כגון ערכי משתנים, הודעות שגיאה וזרימת ביצוע, המתרחשים בתוך יישום תוכנה. רישום רישום משרת מספר מטרות, כולל איתור באגים, ניטור וביקורת.
מודול ה-Node.js util מספק מנגנון רישום נוח באמצעות util.debuglog שיטה. זה מאפשר לך ליצור פונקציות רישום באגים עם מרחב שמות, ותוכל להפעיל או להשבית אותן על ידי הגדרת NODE_DEBUG משתנה הסביבה. הנה דוגמה:
// index.js
const util = לִדרוֹשׁ("תועלת");const debug = util.debuglog("האפליקציה שלי"); // אתחול לוגר ניפוי באגים
לנפות("זו הודעת ניפוי באגים"); // MYAPP 39668: זוהי הודעת ניפוי באגים
דוגמה זו מראה כיצד ניתן להגדיר לוגר ניפוי באגים פשוט, במרחב שמות של "myapp", ולרשום הודעה ומזהה התהליך שלה למסוף.
כדי להפעיל את יומני ניפוי הבאגים, הגדר את NODE_DEBUG משתנה סביבה למרחב השמות בעת הפעלת הסקריפט:
NODE_DEBUG=צומת האפליקציה שלי index.js
אם ברצונך להפעיל מספר מרחבי שמות של ניפוי באגים, הוסף פסיק כדי להפריד בין מרחבי השמות:
NODE_DEBUG=myapp, myapp2,myapp3 node index.js
אם אינך כולל מרחב שמות ב- NODE_DEBUG משתנה סביבה, קריאות ל-debuglog יתעלמו ממרחב השמות הזה.
ה util.debuglog השיטה מספקת פונקציונליות שימושית, אבל אם האפליקציה שלך דורשת רישום מורכב יותר, אתה יכול להשתמש באחד מהאחרים החזקים רישום חבילות במערכת האקולוגית של Node.js.
פונקציות מבטיחות לגמישות
הבטחות ב-JavaScript מספקות דרך לטפל בקוד אסינכרוני בצורה יותר מובנית וניתנת לניהול באופן בכך שהוא מאפשר לך לשרשר פעולות, לטפל בשגיאות ובאירועי הצלחה בנפרד ולהימנע מהתקשרות חוזרת גֵיהִנוֹם.
אמנם, לא כל הפונקציות המובנות תומכות בהבטחות. עם זאת, אתה יכול "להבטיח" פונקציות המשתמשות בהתקשרות חוזרת מסורתית כדי לאפשר להן לתמוך בהבטחות באמצעות מודול util util.promisify שיטה.
שיטה זו לוקחת פונקציה המשתמשת במערכת ההתקשרות המסורתית ומחזירה פונקציה המשתמשת בהבטחות.
לדוגמה:
const util = לִדרוֹשׁ("תועלת");
// גרסת התקשרות חוזרת
פוּנקצִיָהCallback Function(arg1, arg2, callback) {
// פעולה אסינכרונית
// הפעל התקשרות חוזרת עם שגיאה (אם יש) ותוצאה
}// Promisify callbackFunction
const callbackFunctionPromise = util.promisify (callbackFunction);
// גרסה מובטחת
callbackFunctionPromise (arg1, arg2)
.לאחר מכן((תוֹצָאָה) => {
// תוצאת תהליך
})
.לתפוס((שְׁגִיאָה) => {
// שגיאת טיפול
});
בדוגמה למעלה, ה util.promisify השיטה המירה את גרסת ה-callback של הפונקציה לגרסה המשתמשת בהבטחות.
המרה זו מאפשרת לך להשתמש בשרשרת לאחר מכן ו לתפוס בלוקים, השתמש נסה לתפוס, ולנהל את הקוד האסינכרוני שלך בצורה טובה יותר.
עיצוב מחרוזות בשיטה מוכרת
ה-Node.js util מודול מספק פונקציית עיצוב בשם util.format המאפשר לך ליצור מחרוזות מעוצבות. שיטה זו פועלת באופן דומה ל ה printf לתפקד ב-bash ושפות תכנות אחרות כמו C ו-C++.
ה util.format() השיטה לוקחת מחרוזת פורמט שיכולה להכיל אפס או יותר מפרטי פורמט, כגון %s (מחרוזות), %d (מספרים), כטיעון. זה גם דורש מספר שרירותי של ערכים שיחליפו את המפרטים המתאימים להם.
לדוגמה:
const util = לִדרוֹשׁ("תועלת");
const שם = "בוני";
const גיל = 30;const formattedString = util.format(
"שמי %s, ואני בן %d.",
שֵׁם,
גיל
);
לְנַחֵם.log (formattedString); // שמי בוני, ואני בת 30.
דוגמה זו משתמשת במחרוזת פורמט עם שני מצייני מיקום: %s ו %d. ה %s מציין מיקום מיועד להחלפת מחרוזת, while %d מיועד להחלפה מספרית. הקריאה ל- util.format מעבירה ערכים מתאימים—שֵׁם ו גיל- עבור כל מציין מיקום.
אם למפרט אין ארגומנט מתאים, ה- util.format השיטה לא תחליף אותה, ותחזיר את המחרוזת מבלי לשנות אותה:
const util = לִדרוֹשׁ("תועלת");
const formattedString = util.format("שמי הוא %s");
לְנַחֵם.log (formattedString); // שמי הוא %s
דוגמה זו קוראת לפורמט עם ארגומנט בודד בלבד, כך שהמתודה מחזירה את המחרוזת המקורית.
ישנם שימושים רבים נוספים במודול Util
מלבד שימושים אלו, מודול ה-Node.js util מציע פונקציות שירות אחרות. דוגמאות כוללות בדיקת אובייקטים וערכים וביטול כלים מיושנים.
על ידי מינוף הפונקציונליות שמספק מודול util, אתה יכול לשפר את הקריאה והתחזוקה של הקוד שלך ואת זרימת העבודה הכוללת שלך.