ID möchte den Benutzer vor der Ausführung der Hauptaufgabe build
am unteren Rand auffordern. Ich habe mir eine schluckige Eingabe als Lösung angesehen, kann aber nicht herausfinden, wie ich sie implementieren kann, bevor irgendeine der Aufgaben ausgeführt wird. Ich möchte, dass der Benutzer die gesamte Aufgabe build
abbrechen kann, bevor etwas ausgeführt wird. Ist das möglich? Irgendwelche Vorschläge würden sehr geschätzt werden.Aufforderung zum Schlucken vor dem Ausführen einer Task
nicht sicher, wie die .pipe(prompt.confirm())
gulp.src('test.js')
.pipe(prompt.confirm())
.pipe(gulp.dest('dest'));
hier zu implementieren, ist die gesamte schluck Datei
'use strict';
var gulp = require('gulp');
var config = require('../config');
var concat = require('gulp-concat');
var unzip = require('gulp-unzip');
var minimatch = require('minimatch');
var prompt = require('gulp-prompt');
var notify = require('gulp-notify');
var gutil = require('gulp-util');
/**
* Build Initial Project File Structure
* Docs: https://github.com/gulpjs/gulp/blob/master/docs/API.md#async-task-support
* Order of Build:
* 1. 'buildSass': Builds the ./sass directory in root
* 2. 'buildFonts': Extracts the fonts from .zip and places them in ./fonts directory
* 3. 'buildFontsCss': Extracts the fonts .css from .zip, concats all.css and places them in ./sass/typography/_fonts.scss directory
* 4. 'buildJS': Builds the ./js directory in root
* 5. 'moveCustomJSFiles': Places all js files (from wp _underscore theme) in proper directories
* 6. run 'gulp build' in terminal to run all 5 tasks in the proper order and create the initial setup for your project
*/
gulp.task('buildSass', function() {
var stream = gulp.src(config.build.sass.src)
.pipe(gulp.dest(config.build.sass.dest))
return stream
.on('end', function(){ gutil.log(gutil.colors.bgGreen('buildSass Compiled Successfully!')); });
});
gulp.task('buildFonts', ['buildSass'], function() {
var stream = gulp.src(config.build.fonts.src)
.pipe(unzip({
filter: function(entry) {
return minimatch(entry.path, config.build.fonts.include)
}
}))
.pipe(gulp.dest(config.build.fonts.dest))
return stream
.on('end', function(){ gutil.log(gutil.colors.bgGreen('buildFonts Compiled Successfully!')); });
});
gulp.task('buildFontsCss', ['buildFonts'], function() {
var stream = gulp.src(config.build.fonts.css.src)
.pipe(unzip({
filter: function(entry) {
return minimatch(entry.path, config.build.fonts.css.include)
}
}))
.pipe(concat(config.file.name.fontsSass))
.pipe(gulp.dest(config.build.fonts.css.dest))
return stream
.on('end', function(){ gutil.log(gutil.colors.bgGreen('buildFontsCss Compiled Successfully!')); });
});
gulp.task('buildJS', ['buildFontsCss'], function() {
var stream = gulp.src(config.build.js.src)
.pipe(gulp.dest(config.build.js.dest))
return stream
.on('end', function(){ gutil.log(gutil.colors.bgGreen('buildJS Compiled Successfully!')); });
});
gulp.task('moveCustomJSFiles', ['buildJS'], function() {
var stream = gulp.src(config.build.copyJS.src)
.pipe(gulp.dest(config.build.copyJS.dest))
return stream
.on('end', function(){ gutil.log(gutil.colors.bgGreen('moveCustomJSFiles Compiled Successfully!')); })
.pipe(notify({ message: 'Project Build was successful! ✅', onLast: true }));
});
gulp.task('build', ['buildSass', 'buildFonts', 'buildFontsCss', 'buildJS', 'moveCustomJSFiles']);
// TODO:
// put confirm before run
Ich denke, das ist genau das, was Im suchend aber es sieht aus wie Parallel- und Reihen werden nicht erkannt in Gulp 3. Ich habe nicht auf 4 noch aufgewertet. Diesen Fehler bekommen 'TypeError: gulp.parallel ist keine Funktion' – MoxDev
Gotcha. Pre-v4 können Sie [run-sequence] (https://www.npmjs.com/package/run-sequence) anstelle von 'gulp.series' verwenden. Ich werde meine Antwort aktualisieren. – AndyPerlitch
Sie sind erstaunlich, mein Freund arbeitet wunderbar! Danke für die readline-sync sync heads up Ich habe das Plugin vorher noch nicht benutzt! – MoxDev