@udzumaki

Не могу сделать автокомпиляцию sass?

Привет тостерчане. Помогите с проблемой.

Надо чтобы sass компилировался в css. Вот мой код

5ce18c04cd35a839568320.png

Я знаю что можно юзать звёздочки но для наглядности я всё заменил на main.scss. Но это не важно. Ну и вот я захожу в цмд, пишу команду и вылазит ошибка.

5ce18cfee9d36123943801.png

Ничего не компилируется. Хелп.
  • Вопрос задан
  • 122 просмотра
Решения вопроса 1
@Val_Ery_1
Попробуйте так:

// Include gulp
var gulp = require('gulp');


// Include Plugins
var sass = require('gulp-sass'),
    autoprefixer = require('gulp-autoprefixer'),
    cleanCSS = require('gulp-clean-css'),
    sourcemaps = require('gulp-sourcemaps');


// Variables
var 
  source = 'source/',
  target = 'public/',
  styles = {
    'in': source + 'assets/scss/app.scss',
    'out': target + 'assets/css/'
  },


// SASS
gulp.task('sass', function() {
  return gulp.src(styles.in)
    .pipe(sourcemaps.init())
    .pipe(sass())
    .pipe(autoprefixer())
    .pipe(cleanCSS())
    .pipe(sourcemaps.write('.'))
    .pipe(gulp.dest(styles.out));
});


Здесь в задаче sass стили берутся из assets/scss/app.scss, расставляются вендор префиксы, удаляются все пробелы/переносы строк и результат размещается в assets/css/
При этом создается карта (sourcemaps). Штука очень полезная при разработке: в инспекторе элементов будет показываться тот scss файл, из которого правило подтягивается. Если что-то не надо - просто удалите ненужную строку.

Отслеживание изменений:
// Watch tasks
gulp.task('watch', function() {
  gulp.watch(styles.in, gulp.series('sass'));
});


У вас, обратите внимание, в командной строке ругань о том, что задача отслеживания генерируется либо сериями, либо запуском задач параллельно. Можете просто свой массив включить в gulp.series. Саму задачу можно указать в кавычках, если ничего добавлять не будете, то можно убрать квадратные скобки
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы