Как задать глобальные переменные для PostCSS + webpack?

Для задания глобальных переменных в PostCSS с использованием webpack необходимо выполнить несколько шагов.

1. Установка зависимостей:
Сначала установите соответствующие плагины для PostCSS и webpack. Для этого выполните команду:

   npm install postcss postcss-loader postcss-define postcss-preset-env --save-dev

Эта команда установит необходимые пакеты для работы с PostCSS и webpack, а также пакет postcss-preset-env, который позволяет использовать современные функции CSS.

2. Конфигурация webpack:
Добавьте следующий код в файл webpack.config.js:

   module.exports = {
     // ...
     module: {
       rules: [
         {
           test: /.css$/,
           use: [
             'style-loader',
             'css-loader',
             {
               loader: 'postcss-loader',
               options: {
                 postcssOptions: {
                   plugins: [
                     require('postcss-define')({ 
                       // Здесь задаем глобальные переменные
                       'variable-name': 'value',
                     }),
                     require('postcss-preset-env')(),
                   ],
                 },
               },
             },
           ],
         },
       ],
     },
   };

В этом коде мы определяем правило для загрузки CSS-файлов, используя стили, CSS-загрузчик webpack и загрузчик postcss-loader. В настройках загрузчика postcss-loader мы указываем плагины, которые должны быть использованы, в этом случае postcss-define и postcss-preset-env.

3. Создание файла с CSS:
Создайте файл с CSS (например, styles.css) и задайте глобальные переменные, используя @define:

   /* styles.css */
   @define {
     variable-name: red;
   }

В этом примере мы задаем глобальную переменную variable-name со значением red.

4. Использование глобальных переменных:
В вашем коде вы можете использовать глобальные переменные, заданные в PostCSS. Например, вы можете использовать их в своих стилях:

   /* main.css */
   .my-element {
     color: var(--variable-name);
   }

В этом примере мы используем глобальную переменную --variable-name в стиле селектора .my-element.

После выполнения этих шагов ваши глобальные переменные будут доступны в вашем коде и будут компилироваться и применяться вместе с остальными стилями веб-приложения.

Надеюсь, эта информация поможет вам задать глобальные переменные для PostCSS с использованием webpack. Если у вас возникнут дополнительные вопросы, не стесняйтесь задавать их!