我已經配置像這樣一口任務:一飲而盡 - 傳遞參數傳遞給所謂的runSequence任務
gulp.task('concatenate_client_js', function(){
return merge2(
gulp.src('./gulp/buildConfig.json')
.pipe(plugins.ngConfig('app.envConfig', {
environment: 'development'
})
),
gulp.src(paths.clientJS)
)
.pipe(plugins.concat('angular_app.js'))
.pipe(gulp.dest(paths.distScripts));
});
這個任務,然後調用在其他任務的runSequence(在不同的咽文件分割),我有一個像所以:
gulp.task('prepare-dev-files', function(callback){
runSequence('clean_dist_dir', 'copy_assets', 'copy_serverFiles', 'copy_bower_css',
['compile_bower_sass', 'concatonate_bower_js'],
'compile_sass', 'concatenate_client_js', 'compile_main_js', callback);
});
gulp.task('prepare-staging-files', ['prepare-dev-files'], function(callback) {
runSequence('clean_test_src', 'copy_unitTestFiles', 'copy_files_for_coverage_report', 'karma_tests_ci', callback)
});
我想做什麼就能做的是設置environment
配置選項在concatenate_client_js
任務ngConfig
插件基於供給任務ARGS或PARAMS。
我見過像yargs這樣的工具,但我不確定如何在我的情況下使用。我希望能夠提供一個參數,例如--mode development
用於在runSequence中調用我的任務,例如,
gulp.task('prepare-staging-files', ['prepare-dev-files --mode staging'], function(callback) {
runSequence('clean_test_src', 'copy_unitTestFiles', 'copy_files_for_coverage_report', 'karma_tests_ci', callback)
});
然後根據傳遞給任務的模式參數添加一些切換代碼。
這是可以實現的嗎? 謝謝