2016-05-28 3 views
0

Я видел много записей в google о вопросе «Как исключить в Gulp Paths», но ни один из них не работает для меня.Gulp - Исключительные пути не работают для меня

единственное, что работает было так:

gulp.task('sassPlatform', function() { 
    return gulp.src([ 
     './src/sass/platforms/**', 
     // TODO find a way to make this shorter 
     '!./src/sass/platforms/globals/*.scss', 
     '!./src/sass/platforms/globals/' 
    ]) 
     .pipe(sass({outputStyle: 'compressed'}).on('error', sass.logError)) 
     .pipe(gulp.dest('./dist/css/platforms')); 
}); 

Дело в том, что я получил эту структуру папок:

scss 
    |_platforms 
    |_globals 
     |_content.scss 
     |_footer.scss 
     |_globals.scss 
     |_header.scss 
    |_superfolder1 
     |_main.scss 
    |_superfolder2 
     |_main.scss 
    |_superfolder3 
     |_main.scss 
    |_and alot of superfolders more... 

Я хочу, чтобы сохранить структуру папок и принять все поля в superfolders , НО НЕ ГЛОБАЛЬНАЯ ПАПКА.

С моим кодом это работает правильно. Но я хочу, чтобы понять, почему он не работает с:

'!./src/sass/platforms/globals{/, *, *.scss}' 

ответ

0

Glup использует внутренне node-glob который expandas всех секций в фигурных скобках перед сопоставлением любых узоров так Writting:

'!./src/sass/platforms/globals{/, *, *.scss}' 

получает разложен в:

'!./src/sass/platforms/globals/' 
'!./src/sass/platforms/globals*' 
'!./src/sass/platforms/globals*.scss' 

и это, вероятно, не то, что вы хотите. Попробуйте использовать это вместо:

'!./src/sass/platforms/globals/{*, *.scss}' 
Смежные вопросы