В настоящее время я изучаю sass / scss и пытаюсь настроить конфигурацию веб-пакета для практического проекта. Итак, я поискал инструменты и технологии, которые мне нужны, в некоторых ресурсах предлагалось использовать «node sass, sass-loader и css-loader» (документация по веб-пакету), в то время как другой предлагал пост-CSS вместо css-loader. Хотелось бы узнать разницу.
Нужен ли postcss-loader для переноса sass в css через webpack?
Ответы (2)
TL; DR
Нет, для использования SASS postcss-loader
в webpack не требуется. sass-loader
будет в одиночку делать работу. Хотя установка node-sass
обязательна.
Что такое PostCSS?
PostCSS - это инструмент для преобразования CSS с помощью плагинов JS. Эти плагины могут поддерживать переменные и миксины, преобразовывать будущий синтаксис CSS, встроенные изображения и многое другое.
Ссылка: https://webdesign.tutsplus.com/tutorials/postcss-deep-dive-what-you-need-to-know--cms-24535
Autoprefixer
- один из рекомендуемых плагинов.
Что такое SASS?
SASS - это препроцессор CSS. Узнайте больше здесь, https://sass-lang.com/guide. sass-loader
- это загрузчик веб-пакетов, который делает то же самое с инструментами веб-пакетов.
Что делает node-sass?
Node-sass - это библиотека, которая обеспечивает привязку Node.js к LibSass, версии C популярного препроцессора таблиц стилей Sass.
Это не альтернатива sass-loader
. node-sass
находится в peerDependencies
из sass-loader
, поэтому он понадобится вам для использования sass-loader
.
Ссылка: https://github.com/sass/node-sass
Можете ли вы использовать как sass-loader, так и postcss-loader?
Да! И я бы порекомендовал вам использовать его вместе. Фактически, если вы извлекаете проект Create React App, в конфигурации веб-пакета вы можете найти как sass-loader
, так и postcss-loader
.
Это не обязательно, но я настоятельно рекомендую плагин autoprefixer. Загрузчики позволяют импортировать файлы указанных типов.
{
loader: 'postcss-loader',
options: {
plugins: () => [require('autoprefixer')]
}
}