@PaveDUrov

Как мне сгенерировать css относительно scss файла?

При генерации css создает ненужную вложенность внутри папки назначения, вот мой gulpfile:

var path = require("path");
var gulp = require('gulp'),
    sass = require('gulp-sass'),
    rename = require("gulp-rename"),
    flatten = require('gulp-flatten');

gulp.task('sass', function () {
    return gulp.src('../www/local/**/sass/*.scss')
        .pipe(sass())
        .pipe(flatten({ includeParents: 0} ))
        .pipe( gulp.dest( function( file ) { return path.join(path.dirname(file.path), '../gulp/'); } ) );
});

gulp.task('watch', function () {
    gulp.watch('../www/local/**/sass/*.scss', ['sass']);
});
  • Вопрос задан
  • 476 просмотров
Пригласить эксперта
Ответы на вопрос 2
GogElf
@GogElf
Хокаге
gulp.task('sass', function () {
  gulp.src('**/sass/*.scss')
    .pipe(plumber({errorHandler: onError}))
    .pipe(sass())
    .pipe(flatten({includeParents: 0}))
    .pipe(gulp.dest(function (file) {
      var dir = path.dirname(file.path).split('/scss')
      return dir[1] ? path.join(dir[0], 'css', dir[1]) : path.join(dir[0], 'css');
    }))
});

По коду dir[0] = **/type.account/, а dir[1] там будут вложенные папки (но я не уверен в их необходимости). И должно получится вот так: path.dirname(file.path) = /path/type.account/scss/sub/ ; path.join(dir[0], 'css', dir[1]) = /path/type.account/css/sub/
Ответ написан
@PaveDUrov Автор вопроса
.pipe(flatten({ includeParents: 0} ))
ставлю -1 для flatten оно делает на вкладку ближе, но добавляет вложеность в сгенерином файле((
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы