Το npm είναι ο προεπιλεγμένος διαχειριστής πακέτων για το Node.js. Το Facebook από καιρό αναπτύσσει μια εναλλακτική λύση διαχείρισης πακέτων που ονομάζεται Yarn . Το νήμα φαίνεται να εξαφανίζεται σιγά-σιγά από τους αναγνώστες του Github ως η τυπική λύση και τα στατιστικά στοιχεία στον επίσημο ιστότοπο δείχνουν ότι μόνο το κλάσμα των πακέτων πραγματοποιείται από το Yarn. Ωστόσο, αξίζει να σκεφτείτε έξω από το κουτί.
Το νήμα είναι πλήρως συμβατό με τα υπάρχοντα αρχεία package.json - έτσι μπορείτε να χρησιμοποιήσετε και τις δύο λύσεις για υπάρχοντα έργα χωρίς προβλήματα. Οι εντολές των δύο λύσεων διαφέρουν μόνο οριακά. Εδώ είναι μια σύγκριση των πιο σημαντικών εντολών:
Περιγραφή | npm | Νήμα |
Αρχικοποίηση | npm init | νήματα init |
Εκσυγχρονίζω | εγκατάσταση npm -g npm | αυτο-ενημέρωση νήματος |
Εγκατάσταση πακέτου | εγκατάσταση npm - αποθήκευση [όνομα] | νήματα προσθήκη [όνομα] |
Εγκατάσταση πακέτου | εγκατάσταση npm --save-dev [όνομα] | νήματα --dev [όνομα] |
Εγκαταστήστε πακέτο παγκοσμίως | εγκατάσταση npm -g [όνομα] | νήματα παγκόσμια προσθήκη [όνομα] |
Εγκαταστήστε όλα τα πακέτα | εγκατάσταση npm | εγκατάσταση νήματος |
Ενημέρωση όλων των πακέτων | ενημέρωση npm | αναβάθμιση νημάτων |
Απεγκαταστήστε το πακέτο | npm αφαίρεση [όνομα] | νήματα αφαίρεση [όνομα] |
Το νήμα ξεκίνησε με σκοπό την επίλυση μερικών από τις αδυναμίες του npm. Η πιο προφανής διαφορά είναι η υψηλότερη απόδοση: Μέσω σταδιακών εγκαταστάσεων, πολλαπλών νημάτων και του τελευταίου χαρακτηριστικού killer Plug'n'Play (PNP), η απόδοση αυξάνεται δραστικά. Το Plug'n'Play απορρίπτει την ιδέα ενός φακέλου node_modules που βασίζεται σε έργο, τον αριθμό των αρχείων που συχνά μπορούν να αυξηθούν σε αστρονομικά ύψη . Περισσότερες πληροφορίες μπορείτε να βρείτε στο επίσημο whitepaper plug'n'play. Εγκαθιστούμε το eslint μία φορά με npm και στη συνέχεια με νήματα με το cache ζεσταίνεται σε κάθε περίπτωση για να κάνουμε τη διαφορά στην ταχύτητα (6x!):