Как развернуть стиль scss с приложением webpack / реагировать? - PullRequest
0 голосов
/ 21 июня 2019

Я создал приложение React с использованием Webpack 4. Я использовал существующую тему, поэтому у меня есть 1 файл theme.scss, который импортирует множество других файлов scss:

@import "theme/gui/elements";
@import "theme/gui/accordion";
.
..
...

Теперь в моемLayout.js (этот компонент оборачивает все остальные компоненты, использующие стилизацию). Я импортирую этот файл theme.scss:

import 'src/assets/sass/theme.scss';

Все работает нормально, но когда я запускаю Аудит Lighthouse , явозникли проблемы.

Когда я использую mini-css-extract-plugin в моей конфигурации Webpack, CSS извлекается в один большой client.hash.css файл.Вроде как ожидали, потому что я импортирую файл в 1 местоНо когда я импортирую только один класс из theme.scss, он также создает один большой клиентский пакет со всеми CSS и Eg на домашней странице (где я использую только небольшую часть всего CSS) Lighthouse говорит: «удалить неиспользуемый CSS - возможно сохранить25 из 26 кб ".

Теперь, когда я не использую плагин mini-css-extract-plugin, Lighthouse не говорит" удалить неиспользуемый CSS ", но производительность ухудшается.

Мой вопрос заключается в том, как сделать так, чтобы Webpack создавал мои стили в куски, чтобы он создавал отдельные CSS-файлы со стилями, но только с необходимыми стилями.

Поэтому я попытался импортировать только те классы, которые я использую в компоненте.(import { navbar } from 'src/assets/sass/theme.scss';, где navbar - это имя класса), но Webpack все еще создает клиентский пакет со всеми CSS (также неиспользуемыми классами).

Есть ли способ, или я должен переписать все SCSS в модули css?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...