2015-04-15 3 views
0

Я относительно новичок в глотании. У меня есть одна проблема, когда я пытаюсь скомпилировать один каталог с подпапками с их sass-файлами.Сбор папки Gulp

структура папок:

|_sass 
    |__folder1 
    | |_file.sass 
    |__folder2 
    | |_file.sass 
    |__folder3 
     |_file.sass 

Моей простая задача глотка попробовать сборник

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

Этой задача выше не работает с папкой, но если я указать файл, как в глотке задаче ниже , он работает правильно.

gulp.task('sass', function(){ 
    return sass('sass/folder1/file1.sass') 
    .pipe(gulp.dest('css'); 
} 

Я проверил документацию по repository (gulp-ruby-sass) и другие темы в StackOverflow и одно решение, что я нашел, это импортировать весь код Сасс в один файл и скомпилировать его.

Я пробовал разные пути: ./sass, sass, sass/ даже последний синтаксис с gulp.src(path/**/*.sass) с gulp-sass хранилища, а также.

Вы можете мне помочь? Заранее спасибо

+0

Im using webstorm с gulpfile.js – carlosnufe

+0

Вы нашли правильные решения. Создайте основной файл sass и импортируйте все файлы, которые вы хотите использовать. – donnywals

+0

Итак, если я хочу отделить мой последний css в два для разных частей моего приложения, мне нужны две задачи с глотком? Я думаю, что это не так. – carlosnufe

ответ

1

Edit: Использование gulp-sass, не gulp-ruby-sass, поскольку gulp-ruby-sass поддерживает только отдельные файлы, как указано в docs:

Глоток-рубиновая дерзость не поддерживает пока шарики, только отдельные файлы или каталоги. Как Сасс.

Вы должны создать поток с действительными аргументами Глоб gulp.src() вместо того, чтобы просто позвонив sass() прямо и назвать его в pipe():

gulp.task('sass', function(){ 
    return gulp.src([ 
    'sass/folder1/file.sass', 
    'sass/folder2/file.sass', 
    'sass/folder3/file.sass' 
    ]) 
    .pipe(sass()) 
    .pipe(gulp.dest('css')); 
}); 

Если файлы, которые вы просто хотите импортировать названы правильно (начиная с подчеркивание), это должно работать, а также:

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

Edit: Исправлены некоторые кода ERRO rs - SO нуждается в linter (;

+0

Привет, я не знаю, что означает «глобусы», но несколько слов позже он помещает «или каталоги». Тогда я понял плохо. Поэтому я попытался с помощью процедуры, объясняющей мне общую ошибку: «Аргументы в path.join должны быть строками». И это конец для меня, я все еще ищу, но я не знаю, что делать с этой ошибкой. – carlosnufe

+0

Можете ли вы поделиться обновленным кодом, который не работает? – quoo

+0

Я попробую после работы в другое время, и я скажу вам. Но это просто, с gulp-ruby-sass я не могу скомпилировать каталог, потому что это невозможно по почте naeramatrth7. И с gulp-sass посылает мне ошибку. – carlosnufe

Смежные вопросы