Краткое резюме: я использую @import "dir/**/*" для импорта около 100 или около того файлов _filename.scss. Подчеркивание здесь важно. Если я использую "@import"dir/specific_path/filename;" и добавляю все файлы по отдельности, они работают нормально, все компилируется. Но это не будет работать для всего каталога. Однако, если я переименую свои файлы filename.scss, все будет работать отлично, и импорт каталога работает (обратите внимание, просто удалив подчеркивание из имени файла).
Возможно, это ошибка gulp-sass, но я хочу убедиться, что не пропустил какой-то параметр или что-то в этом роде. Я мог бы просто переименовать файлы, но я хотел бы использовать соглашение _filename.scss для файлов, которые не предназначены для использования в одиночку.
Задача Sass (gulpfile.js):
gulp.task('sass', function() {
return gulp.src('./source/css/pattern-global.scss')
.pipe(sourcemaps.init())
.pipe(sass({includePaths: ['./source/_patterns/']}).on('error', sass.logError))
.pipe(sourcemaps.write())
.pipe(gulp.dest('./source/css/patterns/'));
});
Я работаю над сайтом Drupal Pattern Lab. Но структура каталогов не имеет большого значения, поскольку речь идет об именах файлов...
Файл, в котором я вызываю @import:
@import "../_patterns/**/*";
Ошибка, которую я получаю, когда имена файлов со знаком подчеркивания:
Error in plugin 'sass'
Сообщение: source/css/pattern-global.scss Ошибка: файл для импорта не найден или нечитаем: ../_patterns/**/*. Родительская таблица стилей: /Users/XXXXX/Sites/drupal_pattern_lab/source/css/pattern-global.scss в строке 5 файла source/css/pattern-global.scss
@import "../_patterns/**/*"; ^
Примечание. Я прошел через множество проблем с gulp-sass здесь, и я не думаю, что есть одна, которая соответствует моей проблеме.
Резюме: все остается идентичным, за исключением файлов, которые я компилирую, переименованных из _filename.scss в filename.scss, и все работает. Или использование @import для конкретного файла вместо каталога также отлично работает.
Спасибо