đŸ‡«đŸ‡· Utiliser RiotJS avec BeerCSS Material Design 3

Steeve - May 20 - - Dev Community

Créer une application RiotJS avec un rendu Material Design est facile avec BeerCSS, avant de commencer, assurez-vous d'avoir créé la base d'un projet Riot fonctionnant avec Vite.

Ceci est une série d'articles sur RiotJS, pour créer des composants et apprendre les meilleures pratiques pour déployer une application en production.

Nous utilisons BeerCSS parce que projet suit les spĂ©cifications de Material Design 3 avec une taille de code faible (10 fois plus petite que d'autres projets similaires de Material Design), et il est prĂȘt Ă  l'emploi avec n'importe quel framework Javascript !

Tout d'abord, installez le framework BeerCSS via NPM :

npm install --save beercss material-dynamic-colors
Enter fullscreen mode Exit fullscreen mode

Le package material-dynamic-colors est utilisé pour changer le thÚme de l'application. Si vous ne le voulez pas, vous pouvez installer BeerCss uniquement.

Importez les deux packages dans le fichier ./client/index.html avec le code suivant :

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8">
    <title>RiotJS + BeerCSS</title>
  </head>
  <body>
    <div id="root"></div>
    <script type="module">
      /** Load riot.js **/
      import * as riot from 'riot'
      import App from './index.riot'

      /** Load BeerCSS **/
      import "beercss";
      import "material-dynamic-colors";

      const mountApp = riot.component(App)
      mountApp(document.getElementById('root'))
    </script>
  </body>
</html>
Enter fullscreen mode Exit fullscreen mode

Une deuxiĂšme mĂ©thode pour rĂ©cupĂ©rer le CSS consiste Ă  utiliser un CDN (Content Delivery Network): mĂȘme c'est performant, elle peut augmenter le temps de chargement et le nombre de requĂȘtes HTTP, et l'application ne pourra pas fonctionner hors ligne. HĂ©berger les fichiers sources localement avec NPM est la meilleure solution pour avoir peu (ou pas) de temps de chargement, et l'application fonctionnera mĂȘme hors ligne.

Maintenant, un Ă©lĂ©ment BeerCSS peut ĂȘtre chargĂ© dans l'application Riot. Vous pouvez parcourir et copier n'importe quel Ă©lĂ©ment HTML sur la page suivante : https://www.beercss.com/

Essayons d'afficher un bouton: vous pouvez trouver le code pour chaque élément en cliquant sur l'icÎne <> à droite de chaque titre. (Marque rouge 1 sur la capture d'écran)

Documentation de BeerCSS, capture d'Ă©cran qui montre comment copier du code HTML

Ensuite, vous pouvez copier le HTML du bouton (Marque rouge 2 sur la capture d'Ă©cran) dans le fichier ./client/index.riot, comme suit:

<index-riot>
    <div>
        <h4>Riot + BeerCSS</h4>
        <button>
            <i>home</i>
            <span>Button</span>
        </button>
    </div>
</index-riot>
Enter fullscreen mode Exit fullscreen mode

Démarrons le serveur Vite pour obtenir un aperçu de la page dans votre navigateur web, exécutez la commande :

npm run dev
Enter fullscreen mode Exit fullscreen mode

Cliquez sur le lien fournit par Vite, et voici le résultat dans le navigateur:
Preview de l'application Riot avec BeerCSS, il y a un bouton qui s'affiche sur la page

Maintenant, nous pouvons utiliser n'importe quel élément BeerCSS. Par exemple on peut insérer un élément "chip". Voici le HTML de ./client/index.riot :

<index-riot>
    <div>
        <h4>Riot + BeerCSS</h4>
        <button>
            <i>home</i>
            <span>Button</span>
        </button>
        <a class="chip">
            <i>done</i>
            <span>Filter</span>
        </a>
    </div>
</index-riot>
Enter fullscreen mode Exit fullscreen mode

Le résultat:

Preview d'un bouton et d'un Chip en utilisant RiotJS et BeerCSS

VoilĂ  🎉 Nous avons crĂ©Ă© un projet d'application de base Riot en utilisant des Ă©lĂ©ments Material Design avec BeerCSS. Les prochains articles vont dĂ©tailler comment faire des components: Input, Select, Table et bien plus!

N'hésitez pas à commenter si vous avez des questions ou besoin d'aide concernant RiotJS.

Excellente journĂ©e ! SantĂ© đŸ»

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
Terabox Video Player