Αναγνώστες σαν εσάς βοηθούν στην υποστήριξη του MUO. Όταν κάνετε μια αγορά χρησιμοποιώντας συνδέσμους στον ιστότοπό μας, ενδέχεται να κερδίσουμε μια προμήθεια θυγατρικών.
Η εργασία με αρχεία είναι μία από τις πιο συνηθισμένες εργασίες που εκτελεί ένα πρόγραμμα, επομένως εξοικονομήστε χρόνο και προσπάθεια με τη βοηθητική βιβλιοθήκη του Node.
Ένα από τα ενσωματωμένα χαρακτηριστικά του Node.js είναι ο χειρισμός του συστήματος αρχείων του λειτουργικού συστήματος χρησιμοποιώντας τη μονάδα fs. Αυτή η λειτουργική μονάδα Node.js περιέχει πολλές χρήσιμες λειτουργίες για την εργασία με αρχεία και καταλόγους.
Τα αρχεία αναφέρονται απλώς ως ανθεκτικά αντικείμενα ή κομμάτια δεδομένων που συνήθως αποθηκεύονται σε ένα σκληρό μέσο γνωστό ως δίσκος ή μνήμη. Τα αρχεία μπορεί να είναι διαφόρων τύπων, από αρχεία κειμένου έως αρχεία εικόνας, αρχεία ήχου και πολλά άλλα.
Λοιπόν, τι είναι ένα σύστημα αρχείων και πώς μπορείτε εύκολα να αλληλεπιδράσετε με το σύστημα αρχείων ενός λειτουργικού συστήματος στο Node.js;
Τι είναι ένα σύστημα αρχείων;
Ένα σύστημα αρχείων ορίζει πώς ένα λειτουργικό σύστημα μπορεί να αναγνωρίσει, να οργανώσει, να αποθηκεύσει και να αποκτήσει πρόσβαση σε αρχεία, μαζί με άλλες λειτουργίες.
Το σύστημα αρχείων ενός λειτουργικού συστήματος κάνει επίσης τη δουλειά της ομαδοποίησης αρχείων σε συλλογές γνωστές ως κατάλογοι ή φάκελοι. Τα συνηθισμένα αρχεία και κατάλογοι είναι τα πιο κοινά μέρη ενός συστήματος αρχείων με τα οποία αλληλεπιδρούν συχνά μεταξύ πολλών άλλων.
Μερικά παραδείγματα συστημάτων αρχείων περιλαμβάνουν Σύστημα Αρχείων Νέας Τεχνολογίας (NTFS), Σύστημα Αρχείων UNIX (UFS) και Ιεραρχικό Σύστημα Αρχείων (HFS).
Τι είναι το Node.js fs Module;
Το Node.js fs Το module είναι μια ενσωματωμένη βιβλιοθήκη που παρέχεται από το Node.js για εργασία με το σύστημα αρχείων οποιουδήποτε λειτουργικού συστήματος που υποστηρίζει το Node. ο fs Η μονάδα είναι εύκολα προσβάσιμη και είναι η βασική βιβλιοθήκη για λειτουργίες αρχείων όπως ανάγνωση από αρχεία ή εγγραφή δεδομένων σε αρχεία στο Node.js.
Χρησιμοποιείται πολύ συχνά με το μονοπάτι και os μονάδες για την εκτέλεση διαφόρων λειτουργιών σε αρχεία. Για να χρησιμοποιήσετε το fs ενότητα στα προγράμματά σας, μπορείτε να την εισαγάγετε στον πηγαίο κώδικα όπως φαίνεται στον παρακάτω κώδικα.
// CommonJS
συνθ fs = απαιτώ('fs')
// ES6
εισαγωγή fs από 'fs'
Τι είναι η μονάδα διαδρομής Node.js;
Μπορείτε να χρησιμοποιήσετε το Node.js μονοπάτι μονάδα για το χειρισμό των διαδρομών αρχείων. Περιλαμβάνει βοηθητικά προγράμματα για εύκολη αλληλεπίδραση με διαδρομές αρχείων και καταλόγου. Χρησιμοποιώντας την fs και μονοπάτι Οι ενότητες σε συνδυασμό για την ολοκλήρωση μιας εργασίας είναι τυπική πρακτική. Αυτό οφείλεται στο γεγονός ότι η πλειοψηφία των fs Οι λειτουργίες της μονάδας εξαρτώνται από τις διαδρομές για τη στόχευση αρχείων ή καταλόγων για να λειτουργήσουν.
Μπορείτε να εισάγετε το μονοπάτι ενότητα στον κώδικά σας με την παρακάτω σύνταξη:
// CommonJS
συνθ μονοπάτι = απαιτώ('μονοπάτι')
// ES6
εισαγωγή μονοπάτι από 'μονοπάτι'
Κοινές λειτουργίες για πρόσβαση στο σύστημα αρχείων στο Node.js
Εδώ είναι τα πιο συχνά χρησιμοποιούμενα Node.js fs και μονοπάτι λειτουργίες της μονάδας και πώς να τις χρησιμοποιήσετε για να αλληλεπιδράσετε με αρχεία και καταλόγους.
Εργασία με μονοπάτια
-
path.resolve: Αυτή είναι η συνάρτηση για την επίλυση μιας διαδρομής από μια λίστα εντολών διαδρομής που μεταβιβάζονται ως παράμετροι. Για παράδειγμα:
path.resolve('home', 'projects', 'web');
// επιστρέφει/home/projects/web path.resolve('home/projects/web', '../mobile');
// επιστρέφει/home/projects/mobile -
path.normalize: ο ομαλύνω Η συνάρτηση επιστρέφει τη σωστή και κανονικοποιημένη διαδρομή από μια δεδομένη διαδρομή εισόδου. Για παράδειγμα:
path.normalize('home/projects/web/../mobile/./code');
// επιστρέφει σπίτι/έργα/κινητό/κωδικός -
path.join: Αυτή η συνάρτηση δημιουργεί μια διαδρομή από πολλά τμήματα. Για παράδειγμα:
path.join('home', 'projects', '../', 'movies');
// επιστρέφει σπίτι/ταινίες -
path.basename: ο όνομα βάσης Η συνάρτηση επιστρέφει το τελικό τμήμα διαδρομής. Μπορείτε να το χρησιμοποιήσετε με δύο τρόπους:
path.basename('home/projects/web/index.js');
// επιστρέφει το index.jspath.basename('home/projects/web/index.js', '.js');
// αφαιρεί την επέκταση και επιστρέφει 'ευρετήριο' -
path.dirname: Αυτή η συνάρτηση επιστρέφει τη διαδρομή στον τελευταίο κατάλογο μιας δεδομένης διαδρομής. Παράδειγμα:
path.dirname('home/projects/web/index.js');
// επιστρέφει σπίτι/έργα/ιστός -
path.extname: Με αυτή τη λειτουργία, μπορείτε να λάβετε την επέκταση ενός αρχείου από μια δεδομένη διαδρομή.
path.extname('home/projects/web/index.js');
// επιστρέφει ".js"
Άνοιγμα και κλείσιμο αρχείων
-
fs.open: Αυτή είναι η λειτουργία για το άνοιγμα ή τη δημιουργία ενός αρχείου συγχρονισμένα στο Node.js. Η σύγχρονη μορφή του φσ.ανοιχτό είναι fs.openSync. φσ.άνοιγμα αδέχεται τέσσερα ορίσματα που είναι η διαδρομή αρχείου, οι σημαίες, η ανοιχτή λειτουργία και μια συνάρτηση επανάκλησης. Σημαίες και Άνοιξετρόπος έχουν μια προεπιλεγμένη τιμή και μπορείτε να μάθετε περισσότερα για αυτές από το Node.js fs.open τεκμηρίωση.
συνθ filePath = path.join (__dirname, '/videos/newVideo.mp4');
// __dirname επιστρέφει τη διαδρομή στον τρέχοντα κατάλογο εργασίας.
// filePath =/videos/newVideo.mp4 fs.open (filePath, (σφάλμα, fileDescriptor) => {
// χειρισμός σφαλμάτων
κονσόλα.log (fileDescriptor); // εκτυπώνει έναν ακέραιο που αντιπροσωπεύει τον περιγραφέα αρχείου
}) -
fs.close: Είναι καλή πρακτική να κλείνουμε πάντα τυχόν ανοιχτά αρχεία όταν δεν χρειάζονται πλέον. Το Node.js έχει το φσ.κλείνω λειτουργία για αυτό:
fs.open (filePath, (σφάλμα, fileDescriptor) => {
// χειρίζεται σφάλματα, όπως "αρχείο/κατάλογος δεν υπάρχει"
κονσόλα.log (fileDescriptor);// κλείσιμο του αρχείου
fs.close (fileDescriptor, (σφάλμα) => {
// χειρισμός σφαλμάτων
κονσόλα.log('Το αρχείο έκλεισε επιτυχώς');
});
})
Δημιουργία και Διαγραφή
-
fs.mkdir: Αυτό λειτουργεί ακριβώς όπως το mkdir εντολή τερματικού που δημιουργεί έναν νέο κατάλογο. Παίρνει μια διαδρομή, λειτουργία (προαιρετικό) και λειτουργία επανάκλησης ως παραμέτρους. Μπορείτε να το χρησιμοποιήσετε ως εξής:
συνθ dirPath = path.join (__dirname, 'newDirectory');
fs.mkdir (dirPath, (σφάλμα) => {
// χειρισμός σφαλμάτων
κονσόλα.log('Ο νέος κατάλογος δημιουργήθηκε με επιτυχία');
}); -
fs.unlink: Αυτή η συνάρτηση αφαιρεί ή διαγράφει το αρχείο στη διαδρομή που μεταβιβάστηκε ως όρισμα. Εξετάστε το παράδειγμα κώδικα παρακάτω:
συνθ filePath = path.join (_dirname, 'oldFile.js');
fs.unlink (filePath, (σφάλμα) => {
// χειρισμός σφαλμάτων
κονσόλα.log('Το αρχείο διαγράφηκε επιτυχώς');
}); -
fs.rmdir: Αυτή η μέθοδος διαγράφει τον κατάλογο σε μια δεδομένη διαδρομή. Είναι πολύ παρόμοιο στη χρήση με τη μέθοδο αποσύνδεσης:
συνθ dirPath = path.resolve('home', 'projects', 'web');
fs.rmdir (dirPath, (σφάλμα) => {
// χειρισμός σφαλμάτων
κονσόλα.log('Ο κατάλογος διαγράφηκε επιτυχώς');
})
-
fs.υπάρχει: ο υπάρχει Η μέθοδος ελέγχει εάν υπάρχει το αρχείο σε μια δεδομένη διαδρομή. Η υλοποίηση έχει ως εξής:
αφήνω filePath = path.join (__dirname, 'index.html');
fs.exists (filePath, (υπάρχει) => {
κονσόλα.log (υπάρχει) // σωστό ή λάθος
}) -
fs.stat: Αυτή είναι μια σύγχρονη συνάρτηση που επιστρέφει τις ιδιότητες ενός αρχείου. Επιστρέφει ένα fs. Στατιστικά στοιχεία αντικείμενο που εκθέτει ορισμένες μεθόδους για την πρόσβαση στις ιδιότητες του αρχείου. Εδώ είναι ένα παράδειγμα:
fs.stat('index.js', (σφάλμα, στατιστικά) => {
κονσόλα.log (στατιστικά); // εκτυπώνει ιδιότητες χαμηλού επιπέδου του αρχείου
stats.isFile(); // επιστρέφει true
stats.isDirectory(); // επιστρέφει ψευδής
})
Θα πρέπει να χρησιμοποιήσετε το μονοπάτι μεθόδους όταν εργάζεστε με διαδρομές αρχείων, καθώς σας εξοικονομούν από απροσδόκητη συμπεριφορά σε όλες τις πλατφόρμες. ο Node.js fs και Διαδρομή Node.js τεκμηρίωση περιγράφουν έναν εξαντλητικό κατάλογο μεθόδων.
Χειρισμός του συστήματος αρχείων στο Node.js
Η απεραντοσύνη του fs Η μονάδα καθιστά πολύ εύκολη την πρόσβαση και την αλληλεπίδραση με αρχεία σε οποιοδήποτε λειτουργικό σύστημα. Όταν το χρησιμοποιείτε μαζί με το μονοπάτι ενότητα, είστε ανοιχτοί σε περισσότερες λειτουργίες και μπορείτε να χειριστείτε το σύστημα αρχείων όπως θέλετε.
Ένα σημαντικό πλεονέκτημα του Node.js είναι η φορητότητά του. Μπορείτε να αναπτύξετε τις εφαρμογές σας σε οποιαδήποτε πλατφόρμα και να τις αναπτύξετε οπουδήποτε χωρίς να ανησυχείτε για βασικά ζητήματα συμβατότητας.