UPDATE :
나는 NPM 패키지 gulp-interactive을 발표했다. gulpfile.js
에서 그것을
npm install --save-dev gulp-interactive
를 사용 :
단지에 설치
require('gulp-interactive')();
을 다음 쉘 :
$ gulp prompt
ORIGINAL 답변 :
특별 한 덤프 작업 prompt
을 구현했습니다. 먼저 inquirer 설치 :
npm install --save-dev inquirer
그것은 우리가 작업 이름을 입력 개발자에게 문의 할 수있는 유용한 패키지입니다.
다음 작업을 구현합니다
gulp.task('prompt', function (cb) {
var promptedTask;
function startPrompt() {
promptedTask = undefined;
gulp.start('prompt');
}
function onTaskEnd(event) {
setTimeout(function() {
if (event && promptedTask && event.task === promptedTask) {
gulp.removeListener('task_stop', onTaskEnd);
gulp.removeListener('task_err', onTaskEnd);
gulp.removeListener('task_not_found', onTaskEnd);
startPrompt();
}
});
}
gulp.on('task_stop', onTaskEnd);
gulp.on('task_err', onTaskEnd);
// replace gulp default listener for 'task_not_found' because it calls process.exit(1)
gulp.removeAllListeners('task_not_found');
gulp.on('task_not_found', function (err) {
console.log('Task \'' + err.task + '\' is not in your gulpfile');
onTaskEnd(err);
});
var inquirer = require('inquirer');
inquirer.prompt([{ type: 'input', name: 'task', 'message': 'Enter gulp task name:' }])
.then(function (answers) {
promptedTask = answers.task || 'prompt';
cb();
gulp.start(promptedTask);
});
});
지금 당신이
gulp prompt
을 실행하여 프롬프트를 시작할 수 있습니다. 이 최적화를 사용하면 Mac 용 Docker 컨테이너에서 웹 응용 프로그램의 빌드 시간이 50 초에서 15 초로 단축되었습니다 (파일 시스템 작업이 느린 것으로 판단 됨). 내 Mac에서 직접 빌드를 실행하면 빌드 시간이 13 초에서 6 초로 단축되었습니다.