Maison interface Web js tutoriel Introduction et installation du gestionnaire de packages Node.js Yarn

Introduction et installation du gestionnaire de packages Node.js Yarn

Feb 04, 2017 am 10:30 AM

Avant-propos

Avez-vous été discrètement attiré par Yarn au cours des deux derniers jours, Facebook a récemment publié un nouveau gestionnaire de packages node.js, Yarn, pour remplacer npm ? Afin de suivre la tendance Javascript, j'ai un bref aperçu de cette gestion de paquets qui se veut rapide, fiable et sûre, donc le contenu écrit ne sera pas très détaillé, et plus peut-être juste pour cette nouvelle gestion de paquets Comparez les différences avec npm. Il se peut que certaines choses soient mal écrites. Si c'est le cas, corrigez-moi.

1. Installation

La première chose est bien sûr l'installation. Contrairement à npm, un gestionnaire de packages sélectionné et installé avec nodejs, Yarn doit être installé manuellement. C’est compréhensible, après tout, c’est une toute nouvelle chose. Mais pour être honnête, l'expérience d'installation n'est pas très bonne...

Pourquoi dites-vous cela... parce que mon environnement de développement est Arch Linux, et que la documentation officielle ne fournit que les méthodes d'installation d'apt-get Linux et yum Linux...

Depuis le L'ambition est de remplacer npm, il doit y avoir une solution de compatibilité pour toutes les plateformes. Effectivement, il existe un script d'installation manuelle adapté à toutes les distributions, j'ai donc essayé cela, mais je l'ai installé trois fois sans succès. Divers problèmes...

Enfin, j'ai découvert que fil peut en fait être installé avec npm tout comme un module :

npm install -g yarn
Copier après la connexion

Un truc qui veut remplacer npm, mais il doit encore le faire être installé avec npm ? Eh bien, peu importe comment vous le dites, il est installé comme ça, donc je dis que l'expérience d'installation est juste moyenne... Peut-être que ce sera mieux pour d'autres distributions Peut-être que pour certaines distributions populaires et macOS, l'installation est une commande est tapée. dans le terminal.

Bien qu'au moment où j'ai écrit cet article, il existe déjà une méthode d'installation sur Arch Linux, mais c'est via yaourt(AUR). Cependant, je ne pense pas qu'il soit nécessaire pour les novices d'installer yaourt. Installer à nouveau Yarn est plus facile que d'installer directement nodejs, puis d'installer npm. Peut-être qu'à ce stade, Arch est encore une distribution de niche par rapport à Debian/Ubuntu/CentOS...

2 Gestion des dépendances

Ceci conclut la partie installation. Puisque vous êtes gestionnaire de packages, vous devez assumer vos responsabilités. Ensuite, je veux essayer si cette nouvelle gestion des packages est vraiment aussi magique qu’elle le prétend. Ensuite, j'ai comparé le fil avec npm et cnpm dans le même environnement. En raison de l'environnement particulier à l'intérieur du mur, le registre de npm a été remplacé par https://registry.npm.taobao.org.

PLUS RAPIDE

Avant la comparaison, je pense que cette comparaison est un peu injuste pour le fil, car npm a mis en place un miroir domestique, et au moment de la publication de cet article, le fil n'a pas avoir un miroir domestique, il n'y a donc pas de réglage spécial pour le fil. Je suis un peu inquiet de savoir si cela entraînera des erreurs dans les résultats des tests.

Puisque Yarn vient de Facebook, essayons d'abord d'installer leur React :

Introduction et installation du gestionnaire de packages Node.js Yarn

Le premier est bien sûr le fil protagoniste. Il convient de noter que la façon dont fil installe les dépendances est différente de npm. Vous devez exécuter la commande suivante pour installer les dépendances :

yarn add react
Copier après la connexion
# same as npm install react
Copier après la connexion

Vous pouvez voir que cela a pris. 13,3 s pour que le fil installe React , cette vitesse est également très satisfaisante.

Introduction et installation du gestionnaire de packages Node.js Yarn

Ensuite, c'est npm . Parce que npm n'affiche pas le temps de la commande, j'ai vérifié le chronomètre. Il durait environ 45 secondes, ce qui était plusieurs fois plus long que le fil. Il semble que le fil soit effectivement plus rapide que npm, et npm utilise toujours des sources nationales.

Cependant, cnpm est plus rapide et il ne faut que 4 secondes pour terminer l'ensemble du processus d'installation. Mais après tout, cnpm est un dérivé de npm, ce qui est logique. Puisque cette chose peut améliorer la vitesse de npm, qui sait s'il y aura du cyarn dans le futur ? Mais à travers ce test, nous pouvons voir que la vitesse du fil est un saut qualitatif par rapport au npm natif, et PLUS RAPIDE n'est pas en vain.

Ensuite, j'ai essayé d'installer d'autres packages et de les comparer plusieurs fois. En moyenne, Yarn est 3 à 6 fois plus rapide que npm (c'est le cas de l'installation de packages plus petits).

FIABLE/SÉCURISÉ

Quant à savoir si cette gestion de paquets est fiable/sécurisée, je n'ai pas encore pensé à comment la tester. Je sais seulement que lorsque je l'utilise, il est possible que des erreurs inexplicables soient occasionnellement signalées, mais si j'exécute la commande deux fois, elle fonctionnera à nouveau normalement. Après tout, le fil est un produit nouveau, donc c’est compréhensible. Cependant, au cours de la journée, la page d'accueil du projet GitHub de Yarn a remporté 9 000 étoiles, et il y a eu des milliers de problèmes et de demandes d'extraction, ce qui montre sa popularité, je suis donc toujours très optimiste quant à ses perspectives.

Mode hors ligne

L'un des points forts de Yarn est qu'il peut installer des dépendances hors ligne. Bien sûr, le principe est que cette dépendance a déjà été installée. Yarn mettra en cache les packages installés Si le paramètre -offline est spécifié lors de la prochaine installation, Yarn récupérera directement le package du cache, ce qui réduira considérablement le temps d'installation des dépendances.

Malheureusement, même si je lis et relis la documentation officielle, cette fonctionnalité ne fonctionne toujours pas correctement dans mon environnement. Je découvrirai la raison et ajouterai ce paragraphe plus tard.

Mais cette fonctionnalité est vraiment accrocheuse. On peut dire qu'elle a résolu une lacune de npm, une lacune très fatale. Avec une telle fonction, les dépendances existantes pourront être installées à l'avenir sans réseau. Cela permet également de gagner du temps de téléchargement et d’améliorer considérablement l’efficacité. Imaginez que vous n'ayez pas à attendre 15 minutes lors de l'exécution de React-Native Init à l'avenir. Ne seriez-vous pas très heureux (bien sûr, on ne sait toujours pas quand Facebook remplacera le processus de dépendance d'installation de React-Native Init par). sa propre installation de gestion de paquets).

fichier Yarn.lock

Yarn utilise un fichier Yarn.lock pour donner à votre programme une expérience cohérente sur différentes machines. Même si cette explication est tirée par les cheveux, au moins je n'ai pas l'occasion de la montrer à tout le monde, donc je suis déjà très consciencieux (brouillard). On a l'impression que c'est une chose très haut de gamme, mais en fait il s'agit principalement d'un complément à package.json.

Si vous êtes intéressé, vous pouvez lire l'introduction détaillée ici (vous devez être meilleur en anglais) :

Yarn

Gestion des dépendances rapide, fiable et sécurisée. Yarnpkg.com

Résumé

Parfois, juste entre l'ouverture et la fermeture des yeux, une nouvelle chose apparaît tranquillement sans que vous le sachiez. Le fil est sorti aujourd'hui, mais je ne sais pas ce qui apparaîtra demain. Heureusement, nous avons pu prendre le premier train pour ce nouveau gadget.

Mais il faut dire que l’émergence du fil est bel et bien progressive. Elle résout certains des problèmes connus du npm et développe de nouvelles fonctionnalités. Dans ce cas, cela vaut la peine de contacter et d'apprendre. Même s’il reste encore un long chemin à parcourir avant de remplacer npm, on peut prévoir que son avenir sera radieux.

Ce qui précède représente l'intégralité du contenu de cet article. J'espère que le contenu de cet article sera utile aux études ou au travail de chacun.

Pour plus d'articles sur la prise en main du gestionnaire de packages Node.js Yarn et son installation, veuillez faire attention au site Web PHP chinois !

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

Video Face Swap

Video Face Swap

Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Que dois-je faire si je rencontre l'impression de code brouillé pour les reçus en papier thermique frontal? Que dois-je faire si je rencontre l'impression de code brouillé pour les reçus en papier thermique frontal? Apr 04, 2025 pm 02:42 PM

Des questions et des solutions fréquemment posées pour l'impression de billets thermiques frontaux pour le développement frontal, l'impression de billets est une exigence commune. Cependant, de nombreux développeurs mettent en œuvre ...

Qui est payé plus de python ou de javascript? Qui est payé plus de python ou de javascript? Apr 04, 2025 am 12:09 AM

Il n'y a pas de salaire absolu pour les développeurs Python et JavaScript, selon les compétences et les besoins de l'industrie. 1. Python peut être davantage payé en science des données et en apprentissage automatique. 2. JavaScript a une grande demande dans le développement frontal et complet, et son salaire est également considérable. 3. Les facteurs d'influence comprennent l'expérience, la localisation géographique, la taille de l'entreprise et les compétences spécifiques.

Démystifier javascript: ce qu'il fait et pourquoi c'est important Démystifier javascript: ce qu'il fait et pourquoi c'est important Apr 09, 2025 am 12:07 AM

JavaScript est la pierre angulaire du développement Web moderne, et ses principales fonctions incluent la programmation axée sur les événements, la génération de contenu dynamique et la programmation asynchrone. 1) La programmation axée sur les événements permet aux pages Web de changer dynamiquement en fonction des opérations utilisateur. 2) La génération de contenu dynamique permet d'ajuster le contenu de la page en fonction des conditions. 3) La programmation asynchrone garantit que l'interface utilisateur n'est pas bloquée. JavaScript est largement utilisé dans l'interaction Web, les applications à une page et le développement côté serveur, améliorant considérablement la flexibilité de l'expérience utilisateur et du développement multiplateforme.

Comment fusionner les éléments du tableau avec le même ID dans un seul objet en utilisant JavaScript? Comment fusionner les éléments du tableau avec le même ID dans un seul objet en utilisant JavaScript? Apr 04, 2025 pm 05:09 PM

Comment fusionner les éléments du tableau avec le même ID dans un seul objet en JavaScript? Lors du traitement des données, nous rencontrons souvent la nécessité d'avoir le même ID ...

JavaScript est-il difficile à apprendre? JavaScript est-il difficile à apprendre? Apr 03, 2025 am 12:20 AM

Apprendre JavaScript n'est pas difficile, mais c'est difficile. 1) Comprendre les concepts de base tels que les variables, les types de données, les fonctions, etc. 2) Master la programmation asynchrone et les implémenter via des boucles d'événements. 3) Utilisez les opérations DOM et promettez de gérer les demandes asynchrones. 4) Évitez les erreurs courantes et utilisez des techniques de débogage. 5) Optimiser les performances et suivre les meilleures pratiques.

Comment réaliser des effets de défilement de parallaxe et d'animation des éléments, comme le site officiel de Shiseido?
ou:
Comment pouvons-nous réaliser l'effet d'animation accompagné d'un défilement de page comme le site officiel de Shiseido? Comment réaliser des effets de défilement de parallaxe et d'animation des éléments, comme le site officiel de Shiseido? ou: Comment pouvons-nous réaliser l'effet d'animation accompagné d'un défilement de page comme le site officiel de Shiseido? Apr 04, 2025 pm 05:36 PM

La discussion sur la réalisation des effets de défilement de parallaxe et d'animation des éléments dans cet article explorera comment réaliser le site officiel de Shiseido (https://www.shiseido.co.jp/sb/wonderland/) ...

Comment implémenter la fonction de glisser-déposer et de régler la fonction de réglage similaire à VScode dans le développement frontal? Comment implémenter la fonction de glisser-déposer et de régler la fonction de réglage similaire à VScode dans le développement frontal? Apr 04, 2025 pm 02:06 PM

Explorez la mise en œuvre de la fonction de glisser et de réglage du panneau de type VScode dans le frontal. Dans le développement frontal, comment implémenter un VScode comme ...

La différence dans Console.Log de sortie Résultat: Pourquoi les deux appels sont-ils différents? La différence dans Console.Log de sortie Résultat: Pourquoi les deux appels sont-ils différents? Apr 04, 2025 pm 05:12 PM

Discussion approfondie des causes profondes de la différence de sortie Console.log. Cet article analysera les différences dans les résultats de sortie de la fonction Console.log dans un morceau de code et expliquera les raisons derrière. � ...

See all articles