2015-09-12 4 views
16

Я читаю учебник о sass here, затем я попробовал другой подход, и я не могу получить ответ в этом уроке. Это проблема. У меня есть этот код в моем gulpfile.jsGulp Sass - Как правильно назвать вывод css?

gulp.task('compileNavbar', function() { 
    gulp.src('assets/css/sass/**/*.navbar.scss') 
     .pipe(sass('navbar.css')) 
     .pipe(gulp.dest('assets/css/'));; 
}); 

В настоящее время, у меня есть только активы/CSS/дерзость/guest.navbar.scss и этот код правильно размещает файлы SCSS и помещает выходной файл CSS в правильный каталог BUT css называется guest.navbar.css, которого я не ожидал. Я хочу, чтобы его назвали navbar.css, но как?

+0

у меня нет опыта работы с Глоток, но у вас попробовал переименовать входной файл в 'navbar.scss'? –

ответ

40

gulp-sass не принимает параметров имени файла. Используйте gulp-rename, чтобы переименовать ваши файлы. Если у вас есть более чем 1 .navbar.scss файлов, которые вы хотите объединить в один файл navbar.css, не стесняйтесь использовать gulp-concat. Это один принимает параметр имя файла :-)

Установите gulp-rename с npm install gulp-rename --save-dev

var rename = require('gulp-rename'); 

return gulp.src('assets/css/sass/**/*/*.navbar.scss') 
    .pipe(sass()) 
    .pipe(rename('navbar.css')) 
    .pipe(gulp.dest('assets/css'); 

или

Установка gulp-concat с npm install gulp-concat --save-dev

var concat = require('gulp-concat'); 

return gulp.src('assets/css/sass/**/*/*.navbar.scss') 
    .pipe(sass()) 
    .pipe(concat('navbar.css')) 
    .pipe(gulp.dest('assets/css'); 
+0

Извините, я забыл отметить этот ответ как правильный. Оба метода работали для меня. Спасибо –

+0

Привет! Я попробовал первый метод и создал пустой файл с именем, содержащим '.scss' вместо' .css'. Вот функция, которую я использую: http://pastebin.com/GJLN5TQG – Victor

+0

Ни один из них не работал для меня, пока, конечно, я не вспомнил, что добавил gulp-rename pacakge в свои зависимости dev;) – Sam

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