L'éditeur de texte enrichi Quill 2.0 est disponible, avec des fonctionnalités, une fiabilité et une expérience de développement considérablement améliorées.

La version 2.0 de Quill est sortie.

Déclaration officielle dactylographiée

Le code source de Quill a été entièrement migré vers TypeScript, avec les avantages d'une détection précoce des erreurs, d'une maintenabilité améliorée et d'une meilleure prise en charge des outils.

Auparavant, les développeurs devaient @types/quilll'installer en tant que package distinct pour obtenir les définitions TypeScript. Dans Quill 2.0, les déclarations de type peuvent être obtenues directement à partir de la source.

plusieurs registres

Les projets de blog peuvent utiliser Quill pour fournir une interface d'édition complète pour la publication elle-même, comprenant des titres, des images et des blocs de code, tandis que sur la même page, Quill prend également en charge la saisie de commentaires en gras et en italique, ainsi que les formats de liens pris en charge. Les nouvelles registryfonctionnalités de Quill 2.0 prennent en charge ce cas d'utilisation, permettant à plusieurs éditeurs avec leurs propres configurations de style de coexister sur la même page sans aucun conflit.

Détection automatique des conteneurs roulants

Dans le passé, les développeurs devaient spécifier le conteneur de défilement de l'éditeur lors de la création d'une instance Quill afin que le curseur ou la sélection de l'utilisateur puisse défiler en cas de besoin. Mais cette configuration est souvent négligée ou confuse, et le conteneur roulant est soit mal spécifié, soit pas du tout spécifié. De plus, dans les applications et bases de code plus volumineuses, il n'est pas toujours facile de trouver le conteneur de défilement approprié pour les composants d'éditeur réutilisables qui peuvent apparaître dans différents contextes. Dans la version 2.0, Quill trouve automatiquement le conteneur de défilement correct, ce qui facilite l'utilisation de Quill avec du texte au format plus long et prend en charge des interactions plus complexes, telles que les conteneurs de défilement librement imbriqués et le défilement horizontal.

Utilisation d'InputEvent

L'une des principales forces de Quill réside dans son modèle de document géré en interne, qui ne s'appuie pas sur le DOM comme source unique de vérité. Cela fournit un mappage des états de texte enrichi plus proche du modèle mental du développeur et prend en charge une API d'édition de texte plus simple.

Pour ce faire, Quill écoute les modifications du DOM et les normalise par rapport à son modèle de document interne. Cependant, les navigateurs peuvent gérer les actions des utilisateurs de manière incohérente ou incorrecte, ce qui entraîne la génération de modifications incorrectes du DOM. Par exemple, lorsqu'un utilisateur sélectionne du texte rouge et le remplace en le tapant, le navigateur le remplace parfois par fontun élément dont les attributs sont rouges style, même si l'éditeur utilise spanl'élément pour représenter la couleur.

Dans Quill 2.0, utilisez les fonctionnalités modernes et courantes du navigateur pour déclencher des InputEvents . Désormais, les actions de l'utilisateur sont d'abord capturées pour mettre à jour le modèle de document interne avant que les modifications résultantes ne soient synchronisées avec le DOM. Cette approche offre une expérience d'édition plus cohérente et plus fiable, en particulier pour les contenus et formats complexes. Cette fonctionnalité se concentre actuellement sur les sources d'interactions de remplacement de texte les plus problématiques, avec des plans pour une utilisation plus large à l'avenir.

Voici une liste des principales informations de mise à jour pour la version 2.0 :

Améliorations majeures

  • Quill est désormais un package ESM valide pour mieux prendre en charge l'écosystème (par exemple les emballeurs) et la fonctionnalité d'arborescence

  • Supporte la plume imbriquée #3590

  • Méthode de saisie améliorée (IME) et prise en charge du correcteur orthographique #3807

  • Nettoyage sémantique de l'événement TEXT_CHANGE #3778

  • Historique : Journalisation des sélections dans le module d'historique #3823

  • Détecter automatiquement les conteneurs défilants #3840

  • Presse-papiers : prise en charge améliorée du collage à partir de Google Docs et Microsoft Word

Amélioration des performances

  • Quill 2.0 inclut un certain nombre d'optimisations de performances, dont la plus importante est l'amélioration de la vitesse de rendu de grandes quantités de contenu.

  • Améliorer les performances d'insertion #3815

  • Évitez si possible d'obtenir des ensembles de sélection #3538

  • Pas besoin de définir le contenu lorsque le conteneur est vide #3539

Modernisation des codes

  • Migrer vers TypeScript

  • Déclaration officielle TypeScript fournie

  • Migrer vers Vitest pour les tests unitaires

  • Migrez vers Playwright pour des tests de bout en bout

  • Migrer le site Web vers Gatsby

Pour plus de détails, consultez l'annonce officielle et le guide de migration 2.0 :

Je suppose que tu aimes

Origine www.oschina.net/news/288177/quill-2-0-released
conseillé
Classement