Τον Οκτώβριο του 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 εντοπίσει αλλαγές.
Για παράδειγμα, θεωρήστε αυτό το μπλοκ κώδικα ως α server.js αρχείο:
// server.js
συνθ εκφράζω = απαιτώ("εξπρές");
συνθ app = express();
συνθ ΛΙΜΑΝΙ = 6060;
app.listen (PORT, () => κονσόλα.κούτσουρο(`Ακρόαση εφαρμογής στη θύρα: ${PORT}`));
Για να παρακολουθήσετε αυτό το αρχείο για αλλαγές και να κάνετε επανεκκίνηση του διακομιστή όταν πραγματοποιηθούν, εκτελέστε αυτήν την εντολή στο τερματικό σας:
κόμβος -- διακομιστής ρολογιών
Η εντολή θα παρακολουθήσει το αρχείο server.js και θα επανεκκινήσει τον διακομιστή Node.js όταν εντοπίσει αλλαγές που έγιναν στο αρχείο.
Αξίζει να σημειωθεί ότι αυτή η δυνατότητα είναι ακόμα πειραματική, πράγμα που σημαίνει ότι ενδέχεται να αντιμετωπίσετε προβλήματα κατά τη χρήση του --παρακολουθώ επισημάνετε για επανεκκίνηση του διακομιστή σας.
Άλλες αναβαθμίσεις και διορθώσεις
Άλλες βελτιώσεις και επιδιορθώσεις που συνοδεύουν το Node.js 19 περιλαμβάνουν τα ακόλουθα.
HTTP Keep-Alive από προεπιλογή
ο http/https της ενότητας κρατήσει ζωντανή Η επιλογή ελέγχει εάν θα πρέπει να διατηρεί μια σύνδεση με έναν διακομιστή αφού ολοκληρώσει ένα αίτημα. Αρχικά, θα έπρεπε να ρυθμίσετε το κρατήσει ζωντανή επιλογή να αληθής χειροκίνητα. Αυτή η επιλογή δίνει οδηγίες στον διακομιστή να διατηρήσει τη σύνδεση ανοιχτή και να την επαναχρησιμοποιήσει για επόμενα αιτήματα.
Στο Node.js 19, το κρατήσει ζωντανή Η επιλογή έχει οριστεί ως αληθής από προεπιλογή. Αυτή η προσθήκη θα μειώσει σημαντικά τα γενικά έξοδα δημιουργίας νέων συνδέσεων.
Σταθεροποίηση του WebCrypto API
Το WebCrypto API είναι η υλοποίηση του Node.js το πρότυπο Web Crypto API. Με το Node.js 19, η εφαρμογή WebCrypto είναι πλέον σταθερή, εκτός από το Ed25519, Έκδ448, X25519, και Χ448 αλγόριθμους.
Μπορείτε να αποκτήσετε πρόσβαση σε αυτό το API χρησιμοποιώντας το παγκόσμιοΑυτό ενότητα ή το κόμβος: πρόθεμα ότι Παρουσιάστηκε το Node.js 18 για να διαφοροποιήσετε τις βασικές μονάδες Node.js από τις βιβλιοθήκες τρίτων.
Για παράδειγμα:
// κόμβος: πρόθεμα
συνθ κρυπτό = απαιτώ("κόμβος: κρυπτογράφηση");
// globalThis
συνθ webcrypt = globalThis.crypto;
Προσαρμοσμένες προσαρμογές ανάλυσης ESM
Το Node.js 19 καταργεί το προηγούμενο πειραματικό --experimental-specifier-resolution σημαία. Αυτό παρείχε πειραματική υποστήριξη για τον εντοπισμό αρχείων με χρήση προσδιοριστών πακέτων, παρόμοια με τον τρόπο με τον οποίο το ECMAScript εισάγει λειτουργικές μονάδες.
Το Node.js αφαίρεσε αυτήν τη σημαία επειδή μπορείτε να αναπαράγετε τη λειτουργικότητά του χρησιμοποιώντας προσαρμοσμένους φορτωτές. Μπορείτε να χρησιμοποιήσετε προσαρμοσμένους φορτωτές για την υποστήριξη περισσότερων μορφών λειτουργικών μονάδων ή για περαιτέρω επεξεργασία ενοτήτων πριν από τη φόρτωση, καθώς σας επιτρέπουν να παρέχετε τη μοναδική σας λογική για τη φόρτωση και την επεξεργασία λειτουργικών μονάδων.
Αφαίρεση υποστήριξης DTrace/SystemTap/ETW
Το DTrace, το SystemTap και το ETW (Event Tracing για Windows) είναι λειτουργικές μονάδες που προσφέρουν δυναμική ανίχνευση και ανάλυση προγραμμάτων που εκτελούνται. Αρχικά στο Node.js, θα μπορούσατε να τα χρησιμοποιήσετε για να συγκεντρώσετε δεδομένα σχετικά με τη δραστηριότητα μιας εφαρμογής, συμπεριλαμβανομένων δεικτών απόδοσης, σφαλμάτων και άλλων πιθανών εμφανίσεων χρόνου εκτέλεσης.
Στο Node.js 19, το Node.js αφαίρεσε την υποστήριξη για DTrace, SystemTap και ETW επειδή η πολυπλοκότητα που συνεπάγεται η διατήρηση και η ενημέρωση αυτών των λειτουργικών μονάδων δεν αξίζει ακόμη τον κόπο. Έτσι, για να δώσουν προτεραιότητα στους πόρους τους, διέκοψαν την υποστήριξή τους.
Αναβάθμιση σε Node.js 19
Το Node.js 19 εισάγει διάφορες δυνατότητες και βελτιώσεις που αξίζει να εξετάσετε για την εφαρμογή σας, συμπεριλαμβανομένης της νέας λειτουργίας ρολογιού, μεταξύ άλλων που συζητήθηκαν παραπάνω. Για να κάνετε αναβάθμιση στο Node.js 19, μεταβείτε στον επίσημο ιστότοπο και κατεβάστε την τρέχουσα έκδοση.