✅ WEB і WordPress новини, теми, плагіни. Тут ми ділимося порадами і кращими рішеннями для сайтів.

Компіляція Sass для кількох блоків за допомогою Webpack Config

19

У цій статті показано приклад використання файлів Sass, які ми налаштували в статті Розширення конфігурації веб-пакета WordPress Create Block Script кількома блоками в одному плагіні. Якщо ви не читали цю статтю, прочитайте її спочатку.

Ця стаття стосується старішої версії сценарію створення блоку

Хоча цю теорію все ще можна застосувати, деяка інформація в цій статті може бути несумісною з останнім сценарієм створення блоку. Ви можете переглянути наш оновлений Посібник зі створення сценарію блоку тут.

У нас також є оновлений посібник щодо додавання додаткових точок входу до webpack, щоб ви могли створити кілька файлів CSS.

Налаштування кількох блоків

editor.scssЯк я згадував у попередній статті, додавання імпорту Sass до індексу плагіна дозволяє нам визначати кілька блоків у плагіні, кожен зі своїми style.scssфайлами.

Конфігурація веб-пакета, яку ми налаштували, візьме файли editor.scssта style.scssдля кожного блоку та скомпілює їх у файли /editor.cssта /style.cssв корені плагіна.

Щоб спробувати це, давайте перемістимо файли /src/index.jsта /src/scssпапки та в /src/blocks/block-one, а потім скопіюємо цей блок у /src/blocks/block-two. Нарешті створіть новий файл за адресою /src/index.js.

Тепер ви повинні мати таку файлову структуру:

  • /src

    • /blocks

      • /block-one

        • /scss

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

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

Тоді давайте внесемо деякі незначні зміни, /block-twoщоб він був зареєстрований як унікальний блок. Просто змініть наступний рядок у /src/blocks/block-two/index.jsфайлі з:

registerBlockType( 'wcltd/wholesome-notes', {

до:

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

і змініть назву файлу з Wholesome Notesна Wholesome Notes 2:

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

Зміна Sass

У /src/blocks/block-two/scss/editor.scssта /src/blocks/block-two/scss/style.scssвнесіть деякі незначні поправки, щоб ми розпізнавали зміни у скомпільованих файлах.

Крім того, давайте не забудемо змінити класи в цих файлах, щоб використовувати новий простір імен .wp-block-wcltd-wholesome-notes-2.

Ось які поправки я вніс:

/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;
}

Нічого особливого, я просто змінив кілька кольорів.

Налаштування індексного файлу

Тепер редагуємо файл за адресою /src/blocks/index.js. Нам просто потрібно імпортувати два створені нами блоки:

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

Перегляд результатів

Тепер давайте запустимо npm startі подивимось результати виведених файлів.

Файл /editor.cssвиглядає так:


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

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

Подивіться, як Sass з editor.scssфайлів кожного блоку в плагіні було зібрано в цей єдиний /editor.cssфайл.

Тепер подивимося на /style.cssфайл:


.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; }

Ви бачите, що style.scssфайли кожного блоку в плагіні скомпільовані в цей єдиний /style.cssфайл.

Джерело запису: wholesomecode.ltd

Цей веб -сайт використовує файли cookie, щоб покращити ваш досвід. Ми припустимо, що з цим все гаразд, але ви можете відмовитися, якщо захочете. Прийняти Читати далі