Gulp-newer extra option - путь относительно источника

У меня очень сложная структура проекта с множеством подпроектов на разных уровнях, каждый со своими папками SASS и STYLES (sass to css).

-Project1/
    -SASS/
        - _reset.scss
        - main.scss
    -STYLES
        - main-prefixed.css
-SubProjects
    -Project2/
        -SASS/
            - _reset.scss
            - main.scss
        -STYLES
            - main-prefixed.css

Поскольку у меня их так много, мне нужно использовать gulp-newer, чтобы я только передавал файл, над которым я сейчас работаю, в канал sass. Мне также нужно, чтобы gulp-newer срабатывал при изменении файла _reset.scss, но я не могу правильно передать путь к extra вариант. Наконец, мне нужно сгенерированный файл.css переместить в STYLES папка (также добавляется с префиксом к ее имени) относительно исходной папки.

Мне удалось получить более новую для работы с основным файлом scss и переместить созданный файл в папку стилей. И он срабатывает правильно только при изменении файла main.scss. Задача выглядит так (упрощенно)

gulp.task( 'css', function(){
    gulp.src( ['**/SASS/*.scss'], {base: '.'} )
    .pipe( rename( function( path ){
        path.dirname = path.dirname.replace( 'SASS', 'STYLES' );
        path.basename += "-prefixed";
    } ) )
    .pipe(newer({ dest: '.', ext: '.css' })))
    .pipe( sass() )
    .pipe( gulp.dest( '.' ) )
} );

Но сейчас я пытаюсь сделать newer({dest: '.', etc: '.css', extra: '../SASS/*.scss'}) но когда я изменил _reset.scss файл и запустить задачу ничего не происходит. Я думал ../ будет означать, что я иду на одну папку выше цели /STYLES а затем выберите родного брата SASS/ каталог, но он, кажется, не работает так.

0 ответов

Другие вопросы по тегам