באוקטובר 2022, Node.js הוציא את הגרסה ה-19 שלו. זה הגיע שישה חודשים לאחר שחרורו של Node.js v.18, שהציג שדרוגים משמעותיים כמו מודול הרץ המקורי של הבדיקה.
תכונה בולטת ב-Node.js 19 היא מצב השעון החדש והניסיוני. זה מאפשר לך לבצע שינויים בשרת שלך מבלי שתצטרך להפעיל אותו מחדש.
לפני Node.js 19, מצב צפייה היה אפשרי רק באמצעות ספריות של צד שלישי. למד כיצד להשתמש במצב השעון ולחקור עדכונים אחרים ל-Node.js בגרסה 19.
מצב הצפייה החדש של Node
Node.js 19 מציג את הניסוי --שעון דגל, שמתחיל מחדש שרת Node.js כאשר הוא מזהה שינויים בקובץ שצוין. אתה יכול לעשות זאת בעבר באמצעות ספריית צד שלישי בשם צומת, אבל העדכון מסיר את הצורך בתלות על ידי הוספת הפונקציונליות שלו ל-Node.js.
כדי להפעיל מחדש את שרת Node.js שלך באמצעות ה --שעון דגל, הפעל את צוֹמֶת פקודה עם ה --שעון דגל ואחריו שם הקובץ שברצונך להפעיל מחדש כאשר Node מזהה שינויים.
לדוגמה, ראה בלוק קוד זה כ-a server.js קוֹבֶץ:
// server.js
const express = לִדרוֹשׁ("אֶקְסְפּרֶס");
const app = express();
const PORT = 6060;
app.listen (PORT, () => לְנַחֵם.עֵץ('האזנה לאפליקציה ביציאה: ${PORT}`));
כדי לצפות בקובץ הזה עבור שינויים, ולהפעיל מחדש את השרת כשהם מתרחשים, הפעל את הפקודה הזו בטרמינל שלך:
צוֹמֶת --שרת צפייה
הפקודה תצפה בקובץ server.js שלך ותפעיל מחדש את שרת Node.js כאשר היא תזהה שינויים שבוצעו בקובץ.
ראוי לציין שתכונה זו עדיין ניסיונית, מה שאומר שאתה עלול להיתקל בבעיות בזמן השימוש ב- --שעון דגל כדי להפעיל מחדש את השרת שלך.
שדרוגים ותיקונים אחרים
שיפורים ותיקונים נוספים שהגיעו עם Node.js 19 כוללים את הדברים הבאים.
HTTP Keep-Alive כברירת מחדל
ה http/https של מודול להשאיר בחיים אפשרות שולטת אם יש לשמור על חיבור לשרת לאחר השלמת בקשה. במקור, תצטרך להגדיר את להשאיר בחיים אפשרות ל נָכוֹן באופן ידני. אפשרות זו מורה לשרת להשאיר את החיבור פתוח ולהשתמש בו מחדש עבור בקשות עוקבות.
ב-Node.js 19, ה- להשאיר בחיים האפשרות מוגדרת כ-true כברירת מחדל. תוספת זו תפחית משמעותית את התקורה של יצירת קשרים חדשים.
ייצוב של WebCrypto API
ה-API של WebCrypto הוא היישום של Node.js של תקן Web Crypto API. עם Node.js 19, המימוש של WebCrypto יציב כעת, למעט ה Ed25519, Ed448, X25519, ו X448 אלגוריתמים.
אתה יכול לגשת ל-API זה באמצעות גלובלי זה מודול או ה צוֹמֶת: קידומת זה הוצג Node.js 18 להבדיל בין מודולי ליבה של Node.js מספריות של צד שלישי.
לדוגמה:
// צומת: קידומת
const קריפטו = לִדרוֹשׁ("צומת: קריפטו");
// globalThis
const webcrypt = globalThis.crypto;
התאמות רזולוציית ESM מותאמות אישית
Node.js 19 מסיר את הניסוי הקודם --ניסוי-מפרט-רזולוציה דֶגֶל. זה סיפק תמיכה ניסיונית לאיתור קבצים באמצעות מפרטי חבילות, בדומה לאופן שבו ECMAScript מייבא מודולים.
Node.js הסיר את הדגל הזה מכיוון שאתה יכול לשכפל את הפונקציונליות שלהם באמצעות מעמיסים מותאמים אישית. אתה יכול להשתמש במעמיסים מותאמים אישית כדי לתמוך בפורמטים נוספים של מודולים או כדי לעבד מודולים עוד לפני הטעינה מכיוון שהם מאפשרים לך לספק את ההיגיון הייחודי שלך לטעינה ועיבוד מודולים.
הסרת תמיכת DTrace/SystemTap/ETW
DTrace, SystemTap ו-ETW (מעקב אחר אירועים עבור Windows) הם מודולים המציעים מעקב וניתוח דינמיים של תוכניות פועלות. במקור ב-Node.js, אתה יכול להשתמש בהם כדי לאסוף נתונים על פעילות האפליקציה, כולל מחווני ביצועים, שגיאות והתרחשויות אפשריות אחרות בזמן ריצה.
ב-Node.js 19, Node.js הסיר את התמיכה ב-DTrace, SystemTap ו-ETW מכיוון שהמורכבות הכרוכה בתחזוקה ובשמירה על עדכניות של מודולים אלו עדיין לא שווה את זה. אז, כדי לתעדף את המשאבים שלהם, הם הפסיקו את התמיכה בהם.
שדרוג ל-Node.js 19
Node.js 19 מציג תכונות ושיפורים שונים שכדאי לשקול עבור האפליקציה שלך, כולל מצב השעון החדש, בין היתר שנדונו לעיל. כדי לשדרג ל-Node.js 19, עבור לאתר הרשמי והורד את הגרסה הנוכחית.