


échec de votre application React avec un livre de contes et chromatique
Feb 08, 2025 am 10:28 AMCet article montre comment le livre de contes et le développement de bibliothèque de composants de réaction chromatique réagit, offrant une documentation améliorée, des tests de régression visuelle et une meilleure collaboration d'équipe.
Avantages clés:
- livre de contes: permet une création efficace de bibliothèque de composants, de promouvoir le travail d'équipe et de découpler le développement des composants à partir de l'architecture de projet plus large. Il comprend des fonctionnalités telles que les audits d'accessibilité, les tests unit / interaction / instantané, la génération de documents, la publication / l'hébergement facile et l'intégration chromatique pour les tests de régression visuelle (VRT).
- chromatique: Un compagnon de livre de contes, chromatique identifie de manière proactive les régressions visuelles et les bogues d'interaction, les empêchant d'atteindre la production. Cela simplifie également la collaboration d'équipe.
- Publication Web: Partagez facilement votre livre de contes avec des parties prenantes non techniques via des plateformes telles que les pages GitHub, Netlify, AWS S3 ou Chromatic.
Pourquoi choisir le livre de contes?
Le livre de contes est un atout précieux pour les ingénieurs, les chefs de produit et les parties prenantes. Il facilite le développement de la bibliothèque des composants, la promotion de la collaboration et la prévention des goulots d'étranglement architecturaux. Sa nature autonome permet une documentation complète des composants et une gestion des variations. Les caractéristiques clés incluent:
- Audits d'accessibilité Web
- Unité, interaction et test d'instantané
- Documentation des composants conviviale
- Publication et hébergement simplifiés
- Intégration chromatique pour VRT
Ce guide couvre la configuration et la configuration du livre de contes dans un projet Create React App, une installation complémentaire, une création d'histoire, une génération de documentation automatisée et un déploiement Web.
Configuration et configuration du livre de contes:
Installation:
La méthode la plus efficace consiste à utiliser une seule commande dans le répertoire racine de votre projet:
npx storybook@latest init
Storybook détecte intelligemment vos dépendances de projet et optimise le processus d'installation. Reportez-vous à la page Frameworks du livre de contes pour les informations de compatibilité. L'installation manuelle est découragée en raison de conflits de dépendance potentiels.
Configuration:
La configuration du livre de contes, principalement gérée via main.js
, permet la personnalisation de la présentation de documentation, l'extension d'interface utilisateur via des modules complémentaires et même la configuration de WebPack. TypeScript est pris en charge nativement, mais l'architecture CSS nécessite une configuration distincte. Consultez le style et la documentation CSS pour plus de détails.
Créons un échantillon Créer une application React:
npx create-react-app my-scalable-component-library
Après avoir vérifié l'application (en utilisant npm run start
), installez le livre du scénario:
npx storybook@latest init
Confirmez les invites d'installation. Storybook sera lancé dans votre navigateur. Le dossier .storybook
(contenant des fichiers de configuration) et un dossier stories
(dans src
) seront ajoutés à votre projet. package.json
inclura de nouveaux scripts:
npx create-react-app my-scalable-component-library
Utiliser npm run storybook
pour le développement et npm run build-storybook
pour la publication. Le dossier storybook-static
contient le livre de contes publié. Envisagez d'ajouter ce dossier à votre .gitignore
.
Le fichier main.js
(exemple illustré ci-dessous) contr?le divers aspects:
npx storybook@latest init
La clé stories
spécifie les emplacements de l'histoire. La clé framework
varie par type de projet. La clé docs
permet une documentation automatique. Reportez-vous à la page de configuration du livre de contes pour les options avancées.
Les modules complémentaires du livre de contes:
Les modules complémentaires étendent les fonctionnalités du livre de contes. Ils sont classés comme basés sur l'interface utilisateur (apparence modifiant) et basés sur le prédéfini (Intégration des technologies). La page des intégrations répertorie les modules complémentaires disponibles. Les modules complémentaires par défaut de Storybook incluent:
-
@storybook/addon-links
: lien d'histoire pour le prototypage. -
@storybook/addon-essentials
: une collection de modules complémentaires essentiels. -
@storybook/preset-create-react-app
: Améliore l'intégration de l'ARC. -
@storybook/addon-onboarding
: fournit une visite guidée. -
@storybook/addon-interactions
: facilite les tests d'interaction.
pour ajouter le module complémentaire d'accessibilité:
"storybook": "storybook dev -p 6006", "build-storybook": "storybook build"
Ensuite, incluez-le dans main.js
addons
Array.
écriture et documentation des histoires de composants:
Une histoire représente généralement un composant et ses variations. Ce sont des fichiers dynamiques (réagir, marquer ou les deux), recevant des paramètres (accessoires) pour générer des variations.
Examinons une histoire Button
histoire:
/** @type { import('@storybook/react-webpack5').StorybookConfig } */ const config = { stories: ["../src/**/*.mdx", "../src/**/*.stories.@(js|jsx|mjs|ts|tsx)"], addons: [ "@storybook/addon-links", "@storybook/addon-essentials", "@storybook/preset-create-react-app", "@storybook/addon-onboarding", "@storybook/addon-interactions", ], framework: { name: "@storybook/react-webpack5", options: {}, }, docs: { autodocs: "tag", }, statistics: ["../public"], }; export default config;
L'exportation par défaut définit le composant principal et les paramètres. Les paramètres fournissent des métadonnées. Les balises permettent une documentation générée automatiquement. argTypes
Définir le comportement de l'argument. Nommé les exportations après les variations de représentation par défaut, chacune avec args
alignement avec les accessoires composants.
Les décorateurs enveloppent des histoires avec un contexte supplémentaire. Ils sont définis dans le paramètre decorators
. Les sous-composants peuvent être incorporés, mais envisagez de rendre la complexité.
Publier votre livre de contes:
Une version de production (npm run build-storybook
) génère des fichiers statiques dans un dossier de construction. Les options d'hébergement incluent les pages GitHub, Netlify et AWS S3. Les actions GitHub peuvent automatiser le déploiement aux pages GitHub.
Intégration chromatique pour VRT:
Chromatique améliore le livre du scénario avec des tests de régression visuelle. Créez un compte chromatique, obtenez un jeton de projet et installez le package chromatique:
npx storybook@latest init
Ajouter un script chromatic
à package.json
:
npx create-react-app my-scalable-component-library
Définissez la variable d'environnement CHROMATIC_PROJECT_TOKEN
dans un fichier .env
. Running npm run chromatic
publie votre livre de contes sur chromatique. Pour l'intégration CI / CD (recommandée), utilisez des actions GitHub (voir la documentation chromatique).
Conclusion:
Le livre d'histoire et le chromatique améliorent considérablement la qualité du code, permettant un développement efficace de bibliothèque de composants, des tests et une collaboration. Ils garantissent des applications bien documentées, évolutives et maintenables.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Outils d'IA chauds

Undress AI Tool
Images de déshabillage gratuites

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

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

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
échangez les visages dans n'importe quelle vidéo sans effort grace à notre outil d'échange de visage AI entièrement gratuit?!

Article chaud

Outils chauds

Bloc-notes++7.3.1
éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

Il existe trois fa?ons courantes d'initier des demandes HTTP dans Node.js: utilisez des modules intégrés, Axios et Node-Fetch. 1. Utilisez le module HTTP / HTTPS intégré sans dépendances, ce qui convient aux scénarios de base, mais nécessite un traitement manuel de la couture des données et de la surveillance des erreurs, tels que l'utilisation de https.get () pour obtenir des données ou envoyer des demandes de post via .write (); 2.AXIOS est une bibliothèque tierce basée sur la promesse. Il a une syntaxe concise et des fonctions puissantes, prend en charge l'async / attendre, la conversion JSON automatique, l'intercepteur, etc. Il est recommandé de simplifier les opérations de demande asynchrones; 3.Node-Fetch fournit un style similaire à la récupération du navigateur, basé sur la promesse et la syntaxe simple

Les types de données JavaScript sont divisés en types primitifs et types de référence. Les types primitifs incluent la cha?ne, le nombre, le booléen, le nul, un non défini et le symbole. Les valeurs sont immuables et les copies sont copiées lors de l'attribution des valeurs, de sorte qu'elles ne se affectent pas; Les types de référence tels que les objets, les tableaux et les fonctions stockent les adresses de mémoire, et les variables pointant vers le même objet s'afferchent mutuellement. Le typeof et l'instance de OFF peuvent être utilisés pour déterminer les types, mais prêtent attention aux problèmes historiques de typeofnull. Comprendre ces deux types de différences peut aider à écrire un code plus stable et fiable.

Bonjour, développeurs JavaScript! Bienvenue dans JavaScript News de cette semaine! Cette semaine, nous nous concentrerons sur: le différend de marque d'Oracle avec Deno, les nouveaux objets Time JavaScript sont pris en charge par les navigateurs, les mises à jour Google Chrome et certains outils de développeurs puissants. Commen?ons! Le différend de marque d'Oracle avec la tentative de Deno Oracle d'enregistrer une marque "JavaScript" a provoqué la controverse. Ryan Dahl, le créateur de Node.js et Deno, a déposé une pétition pour annuler la marque, et il pense que JavaScript est un niveau ouvert et ne devrait pas être utilisé par Oracle

La promesse est le mécanisme central pour gérer les opérations asynchrones en JavaScript. Comprendre les appels de cha?ne, la gestion des erreurs et les combinants est la clé pour ma?triser leurs applications. 1. L'appel de la cha?ne renvoie une nouvelle promesse à travers. Puis () pour réaliser la concaténation des processus asynchrones. Chaque .then () re?oit le résultat précédent et peut renvoyer une valeur ou une promesse; 2. La gestion des erreurs doit utiliser .catch () pour attraper des exceptions pour éviter les défaillances silencieuses, et peut renvoyer la valeur par défaut dans Catch pour continuer le processus; 3. Combinateurs tels que promesse.all () (réussi avec succès uniquement après tout succès), promesse.race () (le premier achèvement est retourné) et promesse.allsetTled () (en attente de toutes les achèvements)

Cacheapi est un outil fourni par le navigateur pour mettre en cache les demandes de réseau, qui est souvent utilisée en conjonction avec travailleur de service pour améliorer les performances du site Web et l'expérience hors ligne. 1. Il permet aux développeurs de stocker manuellement des ressources telles que des scripts, des feuilles de style, des photos, etc.; 2. Il peut faire correspondre les réponses du cache en fonction des demandes; 3. Il prend en charge la suppression des caches spécifiques ou la nettoyage du cache entier; 4. Il peut mettre en ?uvre des stratégies de priorité de cache ou de priorité de réseau grace à l'écoute des événements Fetch; 5. Il est souvent utilisé pour le support hors ligne, accélérez la vitesse d'accès répétée, préchargement des ressources clés et du contenu de mise à jour des antécédents; 6. Lorsque vous l'utilisez, vous devez faire attention au contr?le de la version du cache, aux restrictions de stockage et à la différence entre le mécanisme de mise en cache HTTP.

La boucle d'événement de JavaScript gère les opérations asynchrones en coordonnant les piles d'appels, les webapis et les files d'attente de taches. 1. La pile d'appels exécute du code synchrone, et lors de la rencontre de taches asynchrones, il est remis à WebAPI pour le traitement; 2. Une fois que le WebAPI a terminé la tache en arrière-plan, il met le rappel dans la file d'attente correspondante (macro tache ou micro tache); 3. La boucle d'événement vérifie si la pile d'appels est vide. S'il est vide, le rappel est retiré de la file d'attente et poussé dans la pile d'appels pour l'exécution; 4. Micro taches (comme Promise. puis) ??prendre la priorité sur les taches macro (telles que Settimeout); 5. Comprendre la boucle d'événements permet d'éviter de bloquer le thread principal et d'optimiser l'ordre d'exécution du code.

Les bulles d'événements se propagent de l'élément cible vers l'extérieur vers le n?ud d'ancêtre, tandis que la capture d'événements se propage de la couche externe vers l'intérieur vers l'élément cible. 1. événements Bubbles: Après avoir cliqué sur l'élément enfant, l'événement déclenche l'auditeur de l'élément parent vers le haut. Par exemple, après avoir cliqué sur le bouton, il sortira d'abord cliqué sur l'enfant, puis parent. 2. Capture d'événement: définissez le troisième paramètre sur true, afin que l'auditeur soit exécuté dans l'étape de capture, tels que le déclenchement de l'écouteur de capture de l'élément parent avant de cliquer sur le bouton. 3. Les utilisations pratiques incluent la gestion unifiée des événements d'éléments enfants, le prétraitement d'interception et l'optimisation des performances. 4. Le flux d'événements DOM est divisé en trois étapes: capture, cible et bulle, et l'écouteur par défaut est exécuté dans l'étape de la bulle.

Dans les tableaux JavaScript, en plus de la carte et du filtre, il existe d'autres méthodes puissantes et rarement utilisées. 1. La réduction peut non seulement résumer, mais également compter, se regrouper, aplatir les tableaux et construire de nouvelles structures; 2. Find et FindIndex sont utilisés pour trouver des éléments ou des index individuels; 3.Il et tout sont utilisés pour déterminer si les conditions existent ou que toutes les personnes se rencontrent; 4.Sort peut être trié mais changera le tableau d'origine; 5. Faites attention à la copie du tableau lorsque vous l'utilisez pour éviter les effets secondaires. Ces méthodes rendent le code plus concis et efficace.
