Οι εξαρτήσεις καθιστούν δυνατή την αποτελεσματική επαναχρησιμοποίηση του κώδικα. Βεβαιωθείτε ότι γνωρίζετε πώς να τα διαχειρίζεστε στα έργα Node.

Μια εξάρτηση είναι ένα κομμάτι κώδικα—μια βιβλιοθήκη, μια λειτουργική μονάδα ή ένα πακέτο— που απαιτεί ένα έργο για να λειτουργήσει σωστά.

Στο Node.js, οι εξαρτήσεις και οι devDependencies είναι κατηγορίες πακέτων που μπορείτε να ορίσετε στο αρχείο package.json για να διαχειριστείτε τις εξαρτήσεις του έργου σας. Εξερευνήστε τις διαφορές τους και μάθετε πώς να τις χρησιμοποιείτε στα έργα σας.

Κανονικές εξαρτήσεις σε ένα έργο npm

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

Οι εξαρτήσεις μπορεί να περιλαμβάνουν:

  • Εξωτερικές βιβλιοθήκες που προσφέρουν προκατασκευασμένη λειτουργικότητα, όπως το lodash.
  • Πλαίσια που παρέχουν θεμέλια ή δομή για εφαρμογές κτιρίου, όπως το Express ή το React.
  • Προγράμματα οδήγησης βάσεων δεδομένων, όπως MongoDB ή sqlite3.
  • instagram viewer
  • Πακέτα που βοηθούν σε εργασίες που σχετίζονται με το δίκτυο, όπως το Axios ή το Socket.io.

Για παράδειγμα, εάν χτίζετε ένα CRUD API με Express.js, εξπρές θα είναι μία από τις εξαρτήσεις σας επειδή ο διακομιστής σας το χρειάζεται για να λειτουργήσει.

Για να εγκαταστήσετε τις εξαρτήσεις χρόνου εκτέλεσης, μπορείτε να χρησιμοποιήσετε έναν διαχειριστή πακέτων όπως npm, το Node Package Manager, ή Νήματα.

Οι εξαρτήσεις υπάρχουν κάτω από το αντικείμενο dependencies σε ένα αρχείο package.json. Το αντικείμενο dependencies αποθηκεύει τα ονόματα και τις εκδόσεις των πακέτων.

Για να εγκαταστήσετε ένα πακέτο ως εξάρτηση χρησιμοποιώντας το NPM, εκτελέστε την παρακάτω εντολή:

npm εγκατάσταση 

Η παραπάνω εντολή εγκαθιστά το πακέτο και το καταχωρεί ως εξάρτηση του έργου σας πακέτο.json:

//pack.json

"εξαρτήσεις": {
"όνομα πακέτου": "^package-έκδοση",
}

Όταν κλωνοποιείτε ένα έργο από ένα αποθετήριο που βασίζεται στο web, μπορείτε να εγκαταστήσετε τις εξαρτήσεις εκτελώντας την παρακάτω εντολή:

npm εγκατάσταση

Όταν εκτελείτε την παραπάνω εντολή, ο διαχειριστής πακέτων σας διαβάζει το πακέτο.json αρχείο και εγκαθιστά τις καθορισμένες εξαρτήσεις και devDependencies από το μητρώο πακέτων.

Εξαρτήσεις ανάπτυξης και τρόπος χρήσης τους

Οι εξαρτήσεις ανάπτυξης —ή οι εξαρτήσεις dev— είναι πακέτα που χρειάζεται η εφαρμογή σας μόνο κατά τη διαδικασία ανάπτυξης. Δεν χρειάζονται δηλαδή στην παραγωγή.

Οι εξαρτήσεις dev μπορεί να περιλαμβάνουν:

  • Δοκιμαστικά πλαίσια, όπως το Jest ή το Mocha.
  • Δρομείς δοκιμής, όπως ο Chai.
  • Linters και formatters, όπως το Eslint.
  • Εργαλεία τεκμηρίωσης, όπως το Swagger.

Ένα συνηθισμένο παράδειγμα devDepenedency είναι το πακέτο Nodemon, το οποίο κάνει επανεκκίνηση του διακομιστή σας όταν εντοπίζει αλλαγές στα σενάρια σας.

Μπορείτε να ορίσετε Dependencies κάτω από το Εξαρτήσεις dev αντικείμενο σε α πακέτο.json αρχείο. Αυτό το αντικείμενο αποθηκεύει τα ονόματα και τις εκδόσεις των πακέτων.

Μπορείτε να εγκαταστήσετε ένα πακέτο ως devDependency εκτελώντας αυτήν την εντολή:

npm εγκατάσταση  --save-dev

Εναλλακτικά, μπορείτε να εγκαταστήσετε ένα πακέτο ως devDependency εκτελώντας αυτήν την εντολή:

npm εγκατάσταση -D 

Η παραπάνω εντολή εγκαθιστά και καταχωρεί το πακέτο στο δικό σας πακέτο.json αρχείο, όπως:

//pack.json
"Dependencies": {
"όνομα πακέτου": "^package-έκδοση"
}

Όταν κλωνοποιείτε ένα έργο από ένα αποθετήριο που βασίζεται στο web, εκτελείτε το npm εγκατάσταση Η εντολή θα εγκαταστήσει επίσης τα devDependencies.

Ωστόσο, εκτελώντας την εντολή με το παραγωγή Το flag εγκαθιστά μόνο τις εξαρτήσεις.

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

npm εγκατάσταση --παραγωγή

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

Εναλλακτικά, μπορείτε να ορίσετε το NODE_ENV μεταβλητή σε "παραγωγή” για να επιτύχουμε τα ίδια αποτελέσματα.

Άλλοι τύποι εξαρτήσεων

Εκτός από τις εξαρτήσεις και τις devDependencies, το Node.js κατηγοριοποιεί επίσης τα πακέτα ως peerDepenecies και προαιρετικές εξαρτήσεις.

Εξαρτήσεις από ομοτίμους

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

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

Για εκδόσεις npm μικρότερες από v7, οι εξαρτήσεις ομότιμων δεν εγκαθίστανται αυτόματα. Μάλλον ο κώδικας που περιλαμβάνει το πακέτο πρέπει να το περιλαμβάνει ως εξάρτηση. Εάν το πακέτο δεν το περιλαμβάνει, το npm θα εμφανίσει μια προειδοποίηση.

Υπάρχουν κάτω από το εξαρτήσεις από ομοτίμους αντικείμενο στο αρχείο package.json:

"Εξαρτήσεις από ομοτίμους": {
"πακέτο": "^ έκδοση"
}

Προαιρετικές εξαρτήσεις

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

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

Η εκτέλεση της παρακάτω εντολής θα παρακάμψει τις προαιρετικές εξαρτήσεις κατά τη διαδικασία εγκατάστασης:

npm εγκατάσταση --omit=προαιρετικό

Υπάρχουν κάτω από το προαιρετικές εξαρτήσεις αντικείμενο στο αρχείο package.json:

"προαιρετικές εξαρτήσεις": {
"πακέτο": "^ έκδοση"
}

Οι κατηγορίες διευκολύνουν τη διαχείριση των εξαρτήσεών σας

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

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