Actualités WEB et WordPress, thèmes, plugins. Ici, nous partageons des conseils et les meilleures solutions de sites Web.

Compiler Sass pour plusieurs blocs avec la configuration webpack

25

Cet article montre un exemple d’utilisation des fichiers Sass que nous avons configurés dans l’article Extension de la configuration du pack Web WordPress Create Block Script avec plusieurs blocs dans le même plugin. Si vous n’avez pas lu cet article, lisez-le d’abord.

Cet article concerne une ancienne version du script de création de bloc

Bien que la théorie puisse toujours être appliquée, certaines des informations contenues dans cet article peuvent ne plus être compatibles avec le dernier script de bloc de création. Vous pouvez consulter notre guide de création de script de bloc mis à jour ici.

Nous avons également un guide mis à jour sur l’ajout de points d’entrée supplémentaires au pack Web afin que vous puissiez générer plusieurs fichiers CSS.

Configuration de plusieurs blocs

Comme je l’ai mentionné dans l’article précédent, l’ajout des importations Sass à l’index du plugin nous permet de définir plusieurs blocs dans le plugin, chacun avec ses propres fichiers editor.scsset .style.scss

La configuration Webpack que nous avons configurée prendra les fichiers editor.scsset style.scsspour chaque bloc et le compilera dans les fichiers /editor.csset /style.cssà la racine du plugin.

Pour essayer cela, déplaçons les fichiers /src/index.jset /src/scssdossiers et dans /src/blocks/block-one, puis copiez ce bloc dans /src/blocks/block-two. Créez enfin un nouveau fichier dans /src/index.js.

Vous devriez maintenant avoir la structure de fichiers suivante :

  • /src

    • /blocks

      • /block-one

        • /scss

          • /editor.scss
          • /style.scss
        • /index.js
      • /block-two/

        • /scss
          • /editor.scss
          • /style.scss
        • /index.js
      • /index.js

Apportons ensuite quelques modifications mineures à /block-twoafin qu’il soit enregistré en tant que bloc unique. Modifiez simplement la ligne suivante dans le /src/blocks/block-two/index.jsfichier à partir de :

registerBlockType( 'wcltd/wholesome-notes', {

à:

registerBlockType( 'wcltd/wholesome-notes-2', {

et changez le nom du fichier de Wholesome Notesà Wholesome Notes 2:

    title: __(
        'Wholesome Notes 2',
        'wcltd'
    ),

Modifier le Sass

In /src/blocks/block-two/scss/editor.scsset /src/blocks/block-two/scss/style.scssapportez quelques modifications mineures, afin que nous reconnaissions les changements dans les fichiers compilés.

N’oublions pas non plus de modifier les classes de ces fichiers pour utiliser le nouvel espace de noms .wp-block-wcltd-wholesome-notes-2.

Voici les modifications que j’ai apportées :

/src/blocks/block-two/scss/editor.scss

.wp-block-wcltd-wholesome-notes-2 {
    border: 1px dotted #0f0;
}

/src/blocks/block-two/scss/style.scss

.wp-block-wcltd-wholesome-notes-2 {
    background-color: #fff;
    color: #000;
    padding: 2px;
}

Rien de grand, j’ai juste changé quelques couleurs changées.

Configuration du fichier d’index

Modifions maintenant le fichier en /src/blocks/index.js. Il nous suffit d’importer les deux blocs que nous avons créés :

import './blocks/block-one/index';
import './blocks/block-two/index';

Affichage des résultats

Maintenant, exécutons npm startet visualisons les résultats des fichiers générés.

Le /editor.cssfichier ressemble à ceci :


.wp-block-wcltd-wholesome-notes {
  border: 1px dotted #f00; }

.wp-block-wcltd-wholesome-notes-2 {
  border: 1px dotted #0f0; }

Voyez comment les Sass des editor.scssfichiers de chaque bloc du plugin ont été compilés dans ce /editor.cssfichier unique.

Regardons maintenant le /style.cssfichier :


.wp-block-wcltd-wholesome-notes {
  background-color: #000;
  color: #fff;
  padding: 2px; }

.wp-block-wcltd-wholesome-notes-2 {
  background-color: #fff;
  color: #000;
  padding: 2px; }

Vous pouvez voir que les style.scssfichiers de chaque bloc du plugin ont été compilés dans ce /style.cssfichier unique.

Source d’enregistrement: wholesomecode.ltd

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More