javascript - Pourquoi avoir un gestionnaire de paquets? Ou à quoi ça sert ?
滿天的星座
滿天的星座 2017-05-19 10:16:42
0
2
440

J'ai recherché beaucoup d'informations, mais il n'y a pas d'explication claire à cela. Quelqu'un peut-il me l'expliquer ?

滿天的星座
滿天的星座

répondre à tous(2)
曾经蜡笔没有小新

Il y a au moins deux avantages :

  1. Réutilisez le code que d'autres ont déjà écrit

  2. Gérer les dépendances avant les packages

Le premier point est évident : vous n'écrirez pas quelque chose comme jQuery ou React pour chaque projet, mais utiliserez directement ce que d'autres ont déjà écrit. La méthode traditionnelle est la suivante : rendez-vous sur le site officiel pour télécharger le fichier js correspondant, puis placez-le dans le chemin correspondant de votre projet, par exemple /assets/js/. Et maintenant, avec des éléments comme npm et Yarn, 99,9999 % des packages en libre accès sont stockés dans un seul endroit centralisé, ce qui les rend faciles à trouver et à télécharger. C'est comme si vous deviez aller partout pour télécharger un logiciel, mais maintenant, avec 360 Software Manager, il vous suffit de le rechercher et de le télécharger ici. Beaucoup de temps est perdu.

Le deuxième point est en fait une version développée du premier point. Parce que tous les packages écrits par tout le monde sont placés ici. Si je veux écrire un nouveau package, il se trouve qu’un petit programme qu’il contient a été écrit par quelqu’un d’autre, alors je l’utilise. Cela signifie que mon package dépend des packages d'autres personnes. La relation de dépendance d'une grande bibliothèque (package) peut être complexe. Par exemple, elle dépend de dizaines d'autres packages. En même temps, chaque package doit correspondre à une certaine version (car les versions sont trop différentes, il peut y en avoir). être des incompatibilités API). De cette façon, si vous téléchargez manuellement chaque package dépendant, ce sera une tâche exponentielle :

Un paquet dépend de B et C, tandis que C dépend de D et E, B dépend de F, G, H, D dépend de I, J, K...

Il s’agit fondamentalement d’une tâche que les humains ne peuvent pas accomplir.

Bien sûr, avant l'existence d'un gestionnaire de packages, personne n'écrivait un package qui dépendrait de tant de packages d'autres personnes. Le résultat était bien sûr une duplication du travail : chaque package implémentait lui-même certaines fonctions couramment utilisées.

Ce qui précède sont les utilisations auxquelles je peux penser pour l'instant. Si je pense à d'autres, je les ajouterai.

小葫芦

00

Vous écrivez une fonction et l'utilisez pour faire le travail

function add(x, y){
    return x + y; 
}

01

Une fois ce travail terminé, vous commencez à faire un nouveau travail. Maintenant, vous avez à nouveau besoin de cette fonction et vous devez apporter des améliorations :

function add(x, y, z){
    return x + y + z; 
}

C'est très simple, il suffit de copier-coller et d'ajouter z

02

Le travail que vous avez effectué en 01 pour permettre à l'ajout d'accepter trois paramètres est une nouvelle version .
Cependant, vous avez reçu un nouvel emploi, et cette fois vous devez apporter des améliorations :

function add(){
    var arr = Array.prototype.slice.call(arguments); 
    return arr.reduce((acc, cur) => acc + cur, 0); 
}
// add(1) => 1 
// add(1, 2) => 3 
// add(1, 2, 3) => 6

99

Vous avez apporté d'innombrables améliorations. Un jour où vous avez à nouveau besoin de la fonction d'addition simple en 00 :
———— Vous parcourez lentement vos codes précédents parmi les 99 tâches que vous avez effectuées. . . . Alors copiez-le

C'est une chose très gênante. . .

Les gestionnaires de packages automatisent toutes ces tâches. Vous pouvez packager votre code, puis demander simplement la référence et utiliser la commande npm pour l'installer en un clic (vous pouvez également spécifier la version)

Les choses répétitives et gênantes seront résolues par la programmation

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal