Αυτή η ενότητα γενικής χρήσης περιέχει πολλές χρήσιμες βοηθητικές λειτουργίες που μπορούν να σας εξοικονομήσουν από την προσπάθεια να γράψετε επιπλέον κώδικα.

Η λειτουργική μονάδα util παρέχει ένα σύνολο βοηθητικών προγραμμάτων που μπορείτε να χρησιμοποιήσετε για τον εντοπισμό σφαλμάτων, την επιθεώρηση και τη μορφοποίηση δεδομένων σε εφαρμογές Node.js.

Ερευνήστε τις διάφορες λειτουργίες της μονάδας Util και εξερευνήστε μερικά παραδείγματα που θα σας βοηθήσουν να αξιοποιήσετε αυτά τα εργαλεία.

Καταγραφή με περισσότερη ευκολία

Η καταγραφή αναφέρεται στην καταγραφή σημαντικών πληροφοριών ή συμβάντων, όπως τιμές μεταβλητών, μηνύματα σφάλματος και ροή εκτέλεσης, που συμβαίνουν μέσα σε μια εφαρμογή λογισμικού. Η καταγραφή εξυπηρετεί πολλούς σκοπούς, συμπεριλαμβανομένου του εντοπισμού σφαλμάτων, της παρακολούθησης και του ελέγχου.

Η λειτουργική μονάδα Node.js util παρέχει έναν βολικό μηχανισμό καταγραφής χρησιμοποιώντας το util.debuglog μέθοδος. Σας επιτρέπει να δημιουργείτε συναρτήσεις καταγραφής εντοπισμού σφαλμάτων με έναν χώρο ονομάτων και μπορείτε να τις ενεργοποιήσετε ή να τις απενεργοποιήσετε ορίζοντας το

instagram viewer
NODE_DEBUG μεταβλητή περιβάλλοντος. Ιδού ένα παράδειγμα:

// index.js
συνθ Util = απαιτώ("χρήση");

συνθ debug = util.debuglog("myapp"); // αρχικοποίηση του καταγραφικού εντοπισμού σφαλμάτων

εντοπισμός σφαλμάτων("Αυτό είναι ένα μήνυμα εντοπισμού σφαλμάτων"); // MYAPP 39668: Αυτό είναι ένα μήνυμα εντοπισμού σφαλμάτων

Αυτό το παράδειγμα δείχνει πώς μπορείτε να ορίσετε ένα απλό καταγραφικό εντοπισμού σφαλμάτων, σε έναν χώρο ονομάτων "myapp" και να καταγράψετε ένα μήνυμα και το αναγνωριστικό διεργασίας του στην κονσόλα.

Για να ενεργοποιήσετε τα αρχεία καταγραφής εντοπισμού σφαλμάτων, ορίστε το NODE_DEBUG μεταβλητή περιβάλλοντος στο χώρο ονομάτων όταν εκτελείτε το σενάριο:

NODE_DEBUG=myapp node index.js

Εάν θέλετε να ενεργοποιήσετε πολλούς χώρους ονομάτων εντοπισμού σφαλμάτων, προσθέστε ένα κόμμα για να διαχωρίσετε τους χώρους ονομάτων:

NODE_DEBUG=myapp, myapp2,myapp3 node index.js

Εάν δεν συμπεριλάβετε χώρο ονομάτων στο NODE_DEBUG μεταβλητή περιβάλλοντος, οι κλήσεις για εντοπισμό σφαλμάτων θα αγνοήσουν αυτόν τον χώρο ονομάτων.

ο util.debuglog μέθοδος παρέχει χρήσιμη λειτουργικότητα, αλλά αν η εφαρμογή σας απαιτεί πιο περίπλοκη καταγραφή, μπορείτε να χρησιμοποιήσετε ένα από τα άλλα ισχυρά καταγραφή πακέτων στο οικοσύστημα Node.js.

Υποσχόμενες Λειτουργίες για Ευελιξία

Οι υποσχέσεις σε JavaScript παρέχουν έναν τρόπο χειρισμού ασύγχρονου κώδικα με πιο δομημένο και διαχειρίσιμο επιτρέποντάς σας να αλυσιδώνετε λειτουργίες, να χειρίζεστε λάθη και γεγονότα επιτυχίας ξεχωριστά και να αποφεύγετε την επανάκληση κόλαση.

Ωστόσο, δεν υποστηρίζουν όλες οι ενσωματωμένες λειτουργίες υποσχέσεις. Ωστόσο, μπορείτε να "υποσχεθείτε" συναρτήσεις που χρησιμοποιούν παραδοσιακές επανακλήσεις για να τους επιτρέψετε να υποστηρίζουν υποσχέσεις με τη λειτουργική μονάδα χρησιμοποιώ.υπόσχομαι μέθοδος.

Αυτή η μέθοδος παίρνει μια συνάρτηση που χρησιμοποιεί το παραδοσιακό σύστημα επανάκλησης και επιστρέφει μια συνάρτηση που χρησιμοποιεί υποσχέσεις.

Για παράδειγμα:

συνθ Util = απαιτώ("χρήση");

// Έκδοση επανάκλησης
λειτουργίαΛειτουργία επιστροφής κλήσης(arg1, arg2, επανάκληση) {
// Ασύγχρονη λειτουργία
// Κλήση επανάκλησης με σφάλμα (αν υπάρχει) και αποτέλεσμα
}

// Promisify callbackFunction
συνθ callbackFunctionPromise = util.promisify (callbackFunction);

// Υποσχεμένη έκδοση
callbackFunctionPromise (arg1, arg2)
.έπειτα((αποτέλεσμα) => {
// Αποτέλεσμα διαδικασίας
})
.σύλληψη((λάθος) => {
// Χειρισμός σφάλματος
});

Στο παραπάνω παράδειγμα, το χρησιμοποιώ.υπόσχομαι μέθοδος μετέτρεψε την έκδοση επανάκλησης της συνάρτησης σε έκδοση που χρησιμοποιεί υποσχέσεις.

Αυτή η μετατροπή σάς δίνει τη δυνατότητα να χρησιμοποιήσετε αλυσίδα έπειτα και σύλληψη μπλοκ, χρήση προσπάθησε να πιάσειςκαι να διαχειριστείτε καλύτερα τον ασύγχρονο κώδικά σας.

Μορφοποίηση συμβολοσειρών με μια γνωστή μέθοδο

Το Node.js χρησιμότητα Η ενότητα παρέχει μια λειτουργία μορφοποίησης που ονομάζεται Util.format που σας επιτρέπει να δημιουργείτε μορφοποιημένες συμβολοσειρές. Αυτή η μέθοδος λειτουργεί παρόμοια με ο printf λειτουργία στο bash και άλλες γλώσσες προγραμματισμού όπως η C και η C++.

ο util.format() μέθοδος παίρνει μια συμβολοσειρά μορφής που μπορεί να περιέχει μηδέν ή περισσότερους προσδιοριστές μορφής, όπως π.χ %μικρό (χορδές), %ρε (αριθμοί), ως επιχείρημα. Παίρνει επίσης έναν αυθαίρετο αριθμό τιμών που θα αντικαταστήσουν τους αντίστοιχους προσδιοριστές τους.

Για παράδειγμα:

συνθ Util = απαιτώ("χρήση");

συνθ όνομα = "Bonnie";
συνθ ηλικία = 30;

συνθ formattedString = util.format(
"Το όνομά μου είναι %s και είμαι %d χρονών.",
όνομα,
ηλικία
);

κονσόλα.log (formattedString); // Με λένε Bonnie και είμαι 30 χρονών.

Αυτό το παράδειγμα χρησιμοποιεί μια συμβολοσειρά μορφής με δύο σύμβολα κράτησης θέσης: %μικρό και %ρε. ο %μικρό το σύμβολο κράτησης θέσης είναι για αντικατάσταση συμβολοσειράς, ενώ %ρε είναι για αριθμητική αντικατάσταση. Η κλήση στο util.format περνά τις αντίστοιχες τιμές—όνομα και ηλικία— για κάθε σύμβολο κράτησης θέσης.

Εάν ένας προσδιοριστής δεν έχει αντίστοιχο όρισμα, το Util.format Η μέθοδος δεν θα την αντικαταστήσει και θα επιστρέψει τη συμβολοσειρά χωρίς να την αλλάξει:

συνθ Util = απαιτώ("χρήση");

συνθ formattedString = util.format("Το όνομά μου είναι %s");
κονσόλα.log (formattedString); // Το όνομά μου είναι %s

Αυτό το παράδειγμα καλεί μορφή με ένα μόνο όρισμα, επομένως η μέθοδος επιστρέφει την αρχική συμβολοσειρά.

Υπάρχουν πολλές περισσότερες χρήσεις της μονάδας Util

Εκτός από αυτές τις χρήσεις, η λειτουργική μονάδα Node.js προσφέρει και άλλες βοηθητικές λειτουργίες. Τα παραδείγματα περιλαμβάνουν την επιθεώρηση αντικειμένων και τιμών και την κατάργηση απαρχαιωμένων εργαλείων.

Αξιοποιώντας τη λειτουργικότητα που παρέχεται από τη μονάδα util, μπορείτε να βελτιώσετε την αναγνωσιμότητα και τη δυνατότητα συντήρησης του κώδικά σας και τη συνολική ροή εργασίας σας.