nepster-web
@nepster-web

Как подружить postcss и scss?

Хочу подружить postcss и scss. Конкретно интересует работа cssnext.io и scss вместе.

Для сборки я использую gulp. Есть файл build.scss, который подключает все необходимые файлы:

/* ---------------------- */
/* == Base
/* ---------------------- */
@import "base/_settings.scss";
@import "base/_mixins.scss";
@import "base/_base.scss";
@import "base/reset.min";
@import "base/main.scss";


/* ---------------------- */
/* == States
/* ---------------------- */
@import "states/abstract.scss";


/* ---------------------- */
/* == Layouts
/* ---------------------- */
@import "layouts/header.scss";
@import "layouts/footer.scss";

...


После чего этот файл поддается обработке в gulp:

gulp.task('styles:build', function(callback) {
    return gulp.src(params.src.style)
        .pipe(sourcemaps.init())
        .pipe(postcss([
            cssnext
            // plugins
        ], { syntax: syntax }))
        .pipe(rename("styles.css"))
        .pipe(sass().on('error', sass.logError))
        .pipe(sourcemaps.write('.'))
        .pipe(gulp.dest(params.build.dev.css));
});


Проблема в том, что если разместить postcss([cssnext]) перед компиляцией scss он будет работать только с файлом build.scss, при этом все подключенные файлы обрабатываться не будут.

А если разместить postcss([cssnext]) после компиляции scss, то css файл на выходе будте правильно обрабатываться, но при этом scss будет ругаться на синтаксис функций nextcss, например color(red blackness(80%)) (функция просто взята для примера).

Подскажите пожалуйста как это дело можно подружить ?
  • Вопрос задан
  • 1323 просмотра
Пригласить эксперта
Ответы на вопрос 1
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы