2015-09-18 3 views
2

Я пытаюсь переместить нашу сборку SASS из gulp + node-sass в webpack с помощью sass-loader.Улучшение производительности CSS-компиляции webpack

В качестве контрольной точки gulp + node-sass 3.2 дает нам примерно 2,5-3 секунды времени сборки.

В webpack, если я использую стиль! Raw! Sass для загрузки, я ищу 10-секундную сборку и никаких исходных карт (из-за необработанного загрузчика). Если я положу загрузчик css для работы с исходными файлами, дополнительный синтаксический анализ заставит сборку занять 20-30 секунд в хороший день.

Мне интересно, какие трюки я могу использовать для улучшения ситуации. Прямо сейчас самое лучшее, что я смог сделать, это разделить нашу компиляцию sass, потребовав много (...) от javascript к SASS, которые затем объединяются в один файл. С опцией -watch, которая позволяет некоторым компилятором faux-incremental, поэтому после начальной сборки это не так уж плохо.

Мне интересно, есть ли что-то, что я могу сделать дальше этого, чтобы сделать его лучше. 10-кратное замедление по сравнению с gulp + nodesass не очень велико, но с двумя инструментами сборки тоже не очень хорошо (webpack работает на 100% штрафа за JS, даже с большим количеством кода)

ответ

0

Пожалуйста, посмотрите на эту замечательную статью о webpack , препроцессоры, sourcemaps и построить скорость: http://eng.localytics.com/faster-sass-builds-with-webpack/

настоящее время я использую Сассы-погрузчик с узлом-Sass (и libsass), cssmodules (имеющий separed таблицы стилей, по одному для каждого компонента/контейнера), встроенное sourceMaps и HMR. Требуется 2-3 секунды для перезагрузки измененного компонента с обновленными стилями.

Вы можете увидеть здесь пример конфигурации:

Смежные вопросы