Gulp Sass - Как правильно назвать вывод css?

Я читаю учебник о sass здесь, затем я попробовал другой подход, и я не могу получить ответ в этом уроке. Это проблема. У меня этот код в моем gulpfile.js

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

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

Ответы

Ответ 1

gulp-sass не принимает никаких параметров имени файла. Используйте gulp-rename, чтобы переименовать ваши файлы. Если у вас есть несколько файлов .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');