Madeas
@Madeas
UI / UX Designer, Frontend Developer

Как правильно задать путь и параметры?

Здравствуйте!
Подскажите, как решить три проблемы:

1. Поставил автопрефикс, но не пойму как работает. При выгрузке из scss в css все остается без префиксов.
Пока приходится использовать миксин.
@mixin bShad($box) {
  -webkit-box-shadow: $box;
  -moz-box-shadow: $box;
  box-shadow: $box;
}

2. Есть папка: проект/app/scss/source/ в ней три файла.scss
Надо, чтобы они собрались в один css файл: проект/dist/css/main.css (если я правильно понял, он появится сам). Поставил gulp-concat-css, но у меня почему-то просто переносятся все три файла с тем же путем и содержимым, хотя файлы css.

Подскажите, как правильно задать путь? Вот весь код gulpfile.js

var gulp 		     = require('gulp'),
	sass 	     = require('gulp-sass'),
	concat          = require('gulp-concat-css'),
	autoprefixer = require('gulp-autoprefixer');

gulp.task('sass', function() {
	return gulp.src('app/**/**/*.scss')
		.pipe(sass())
		.pipe(gulp.dest('app/css'))
});

gulp.task('watch', function() {
	gulp.watch('app/**/*.scss', ['sass']);	
});
 
gulp.task('default', () =>
    gulp.src('src/app.css')
        .pipe(autoprefixer({
            browsers: ['last 2 versions'],
            cascade: false
        }))
        .pipe(gulp.dest('dist'))
);

gulp.task('default', function () {
 return gulp.src('app/**/**/*.scss')
   .pipe(concatCss("main.css"))
   .pipe(gulp.dest('app/css/main.css'));
});

3. Если в пакете.json я указал, что у меня подключен репозиторий, в нем потом вручную надо создавать все файлы, или они как-то там тоже должны появиться?
  • Вопрос задан
  • 263 просмотра
Решения вопроса 1
@SergeiB
Всё можно сделать в одной задаче:
gulp.task('sass', function() {
  return gulp.src('app/**/*.scss') // получаем файлы из указанной директории
    .pipe(sass()) // компилируем sass в css
    .pipe(autoprefixer({ // добавляем вендорные префиксы
      browsers: ['last 2 versions'],
      cascade: false
    }))
    .pipe(concat("main.css")) // объединяем файлы в потоке в один с указанным именем
    .pipe(gulp.dest('dist')); // выгружаем в папку dist
});

В настройках автопрефиксера указано: last 2 versions. Сомневаюсь, что последние версии браузеров ещё требуют префиксы для теней. Впрочем, можно посмотреть и убедиться в этом самому https://caniuse.com. Для проверки автопрефиксира попробуй какие-то сравнительно новые свойства, например, display: flex.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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