2016-11-15 38 views
0

我正在運行帶文件監視功能的gulp文件和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任務運行時,它將使用更新後的值。

相關問題