2016-11-15 8 views
0

Я запускаю gulpfile с функцией просмотра файлов и BrowserSync.Как наблюдать и задавать динамический список источников с помощью gulp/browsersync или что-то подобное

Я ищу способ динамического изменения исходного массива задачи без перезапуска всех задач/часов/процессов/сервера. В настоящее время я использую Gulp для своих процессов сборки, но любой из подобных функций имеет такую ​​функциональность.

Пример:

gulp.task('scripts',() => 
    gulp.src(['js/file1.js']) 
     .pipe(...) 
     .pipe(...) 
) 

изменение

gulp.task('scripts',() => 
    gulp.src(['js/file1.js', 'js/file2.js', 'js/file3.js']) 
     .pipe(...) 
     .pipe(...) 
) 

без перезагрузки процесс browsersync и другие функции gulp.watch.

+0

Что не так с использованием 'js/*. Js'? –

+0

Ничего. Но в моем случае я нуждаюсь в нем, чтобы быть конкретным и динамичным. –

ответ

0

Поместите все пути, которые вы хотите быть динамичным в файле :

{ 
    "scriptFiles": ["js/file1.js"] 
} 

В вашей gulpfile.js добавить функцию paths(), которая считывает и анализирует файл в формате JSON:

var fs = require('fs'); 

function paths() { 
    return JSON.parse(fs.readFileSync('paths.json')); 
} 

В ваших задач используйте эту функцию для доступа к путям, которые вы определили в :

gulp.task('scripts',() => 
    return gulp.src(paths().scriptFiles) 
    .pipe(...) 
    .pipe(...) 
); 

Теперь вы можете просто изменить значение свойства "scriptFiles" в , а при следующем запуске задачи scripts оно будет использовать обновленное значение.