Surzhikov
@Surzhikov
Разработчик веб-приложений

Как заставить gulp-sass сперва искать файл _*.scss а потом директорию с index файлом?

Здравствуйте.
Дано: проект на Laravel, gulp, yarn.
Хочу собрать стили tabler.io (красивая тема поверх bootstrap).

Задача в gulp:
/**
 * Tabler
 */
gulp.task('tabler', function(done) {
	gulp.src('./node_modules/@tabler/core/src/scss/tabler')
    .pipe(sass({
      importer: tildeImporter
   	 }).on('error', sass.logError))
    .pipe(cleanCSS({compatibility: 'ie8'}))
	.pipe(rename('dashboard.min.css'))
	.pipe(gulp.dest(path.build.css));
	return done();
});


При попытке сборки - выдает ошибку
Error in plugin "sass"
Message:
    node_modules/@tabler/core/src/scss/_bootstrap-config.scss
Error: File to import not found or unreadable: /home/test/site/node_modules/@tabler/core/node_modules/bootstrap/scss/mixins/index.
        on line 3 of node_modules/@tabler/core/src/scss/_bootstrap-config.scss
        from line 7 of node_modules/@tabler/core/src/scss/_config.scss
        from line 1 of node_modules/@tabler/core/src/scss/_tabler-core.scss
        from line 1 of node_modules/@tabler/core/src/scss/tabler.scss
        from line 2 of resources/assets/scss/tabler.scss
>> @import "~bootstrap/scss/mixins";


Проблема в том, что вместо
/home/test/site/node_modules/@tabler/core/node_modules/bootstrap/scss/_mixins.scss
он пытается найти файл
/home/test/site/node_modules/@tabler/core/node_modules/bootstrap/scss/mixins/_index.scss
, которого нет.

Что я делаю не так?
  • Вопрос задан
  • 26 просмотров
Пригласить эксперта
Ответы на вопрос 1
@MikeOxbig
gulp-sass по умолчанию ищет файл с названием index. Попробуй прописать полный путь, либо же вот тебе настроенный пакет, под себя просто подгони:
gulp.task('styles', function(){
return gulp.src("src/sass/*.+(scss|sass)")
.pipe(sass({outputStyle: 'compressed'}).on('error', sass.logError))
.pipe(rename({
prefix: "bonjour-",
suffix: "-hola",
}))
.pipe(autoprefixer({
cascade: false
}))
.pipe(cleanCSS({compatibility: 'ie8'}))
.pipe(gulp.dest("src/css"))
.pipe(browserSync.stream());
});
Ответ написан
Ваш ответ на вопрос

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

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