ユーザーが入力する必要がないように、Gulp ビルド プロセスをリファクタリングしていますV=1.2.88
。
major gulp build
むしろ、ユーザーに「 、minor gulp build
または」と入力してもらいたいと思いますpatch gulp build
。もちろん、これはバージョン番号を繰り返します。
これが機能するには、作成された最後のビルドのフォルダー名を読み取るために gulp が必要です。
バージョン番号を生成する現在の Gulp タスク:
var version = '';
var env = process.env.V; // V={version number} ie: V=1.0.1 gulp build
gulp.task('version', function() {
return printOut(env);
});
function errorlog(err) {
console.log(err.message);
this.emit('end');
}
function printOut(ver) {
gutil.log(gutil.colors.blue.bold('Last build: '+paths.last));
version = ver;
if (version === undefined) {
version = '0.0.0';
}
gutil.log(gutil.colors.blue.bold('##################################################'));
gutil.log(gutil.colors.blue.bold(' Building Dashboard version '+version));
gutil.log(gutil.colors.green.bold('~~ All change is detectable ~~'));
gutil.log(gutil.colors.blue.bold('##################################################'));
}
Gulpでこれを達成する方法を知っている人はいますか?
これは私がこれまでに見つけたものです
そのため、プラグインを使用して、Gulp-folders
最初に実行される次のタスクを作成しました。
gulp.task('build:getLastBuild', folders(paths.lastBuild, function(folder) {
console.log( 'Last version number is: '+folder);
return lastVersion = folder;
//This will loop over all folders inside pathToFolder main, secondary
//Return stream so gulp-folders can concatenate all of them
//so you still can use safely use gulp multitasking
// return gutil.colors.blue.bold('Last build folder: '+folder);
// return gulp.src(path.join(paths.lastBuild, folder))
// .pipe(console.log(' Getting last version number: '+folder))
// .pipe(lastVersion = folder);
}));
ビルドを実行したら、以下を確認してください。console.log でフォルダーの名前を取得していますが、プロセスでエラーが発生します:(
TypeError: e.pipe は関数ではありません