Я создаю 3 свернутых пакета для моего приложения. У меня есть 2 задачи, чтобы сделать это, уменьшить и расслоить. Minify имеет зависимость от пакета. Если я запускаю minify, обе задачи выполняются без ошибок. Пакеты создаются, но мини-файлы - нет. Если я удалю зависимость от пакета, я могу запустить minify сам по себе, и миниатюрные файлы будут созданы успешно. Это заставляет меня думать, возможно, файлы используются, когда триггер задачи минимизации (поскольку пакет еще не закончен?). Как заставить его ждать, пока файлы будут полностью готовы? Могу ли я передать поток? Или, может быть, объединить их в одну задачу? Причина, по которой они в настоящее время не являются одной задачей, заключается в том, что они выводят 2 файла на пакет (unminified и minified bundle).Gulp bundle then minify
var outFolder = __dirname + '\\Scripts\\dist';
var appBundles = [
{ scripts: ['Scripts/Common/**/*.js'], output: 'eStore.common.js' },
{ scripts: ['Scripts/Checkout/**/*.js'], output: 'eStore.checkout.js' },
{ scripts: ['Scripts/ProductDetail/**/*.js'], output: 'eStore.product.js' }
];
gulp.task('bundle', bundle);
gulp.task('minify', ['bundle'], minify); // this one doesn't work
gulp.task('minifyOnly', minify); // this one works
function bundle() {
appBundles.forEach(function (appBundle) {
gulp.src(appBundle.scripts)
.pipe(concat(appBundle.output))
.pipe(sourcemaps.init())
.pipe(sourcemaps.write(outFolder + '\\maps'))
.pipe(gulp.dest(outFolder))
.on('error', errorHandler);
});
}
function minify() {
appBundles.forEach(function(appBundle) {
var bundleSrc = outFolder + '\\' + appBundle.output;
gulp.src(bundleSrc)
.pipe(rename({ extname: '.min.js' }))
.pipe(uglify())
.pipe(gulp.dest(outFolder))
.on('error', errorHandler);
});
}