2016-01-22 62 views
0

說我有一個看起來像這樣一個任務:如何將參數傳遞給Gulp任務?

settings.localLESS = ["../css/*.less"]; 

gulp.task('compile-less-files', function(){ 
    gulp.src(settings.localLESS) 
    .pipe(less()) 
    .pipe(minifyCSS()) 
    .pipe(gulp.dest(someDest)); 
}) 

gulp.watch(settings.localLESS, ['compile-less-files']).on('change', function(event) { 
     ... 
}); 

但我不想編譯它們。我只想編譯我作爲參數傳遞給該任務的文件。也許這樣?

gulp.task('compile-less-file', function(fileName){ 
    gulp.src(fileName) 
    .pipe(less()) 
    .pipe(minifyCSS()) 
    .pipe(gulp.dest(someDest)); 
}) 

gulp.watch(settings.localLESS, ['compile-less-file']).on('change', function(event) { 
    ... 
}); 

更新:我想成立觀察家所有源項目文件和任何一次文件將改爲運行特定的任務。

回答

0

嘗試將您的項目分解爲小部分文件,然後創建一個新文件,該文件將充當「主」文件,您可以在其中導入其他文件。這樣,您可以在導入時選擇要編譯哪個文件。

0

您可以使用yargs - https://www.npmjs.com/package/yargs

npm install --save-dev yargs 

OR

您可以使用節點的process.argv

gulp.task('taskname', function() { 
    console.log(process.argv); 
}); 

然後你就可以將參數傳遞給你的任務,像下面

gulp taskname --option 123 
相關問題