Получить Gulp трубы зависимостей

У меня есть gulpfile с некоторыми задачами. Все задачи объединены в задачу по умолчанию, которая имеет зависимости от всех других задач. Я хочу добавить задачу развертывания. Развертывание может занять список файлов. Я хочу только развернуть измененные файлы.

Есть ли способ получить трубы всех зависимостей? Или любым другим способом, не объединяя все в одну задачу?

Вот простой пример для объяснения:

var gulp = require('gulp');
var concat = require('gulp-concat');
var debug = require('gulp-debug');
var newer = require('gulp-newer');

gulp.task('default', ['js', 'css']);

gulp.task('js', function () {
    return gulp.src('./app/**/*.js')
        .pipe(newer('./dist/app.js'))
        .pipe(concat('app.js'))
        .pipe(gulp.dest('./dist/'));
});

gulp.task('css', function () {
    gulp.src('./app/**/*.css')
        .pipe(newer('./dist/style.css'))
        .pipe(concat('style.css'))
        .pipe(gulp.dest('./dist/'));
});

gulp.task('deploy', ['default'], function () {
    gulp.src('./dist/*')
    // Here I want only files changed in dist
        .pipe(debug());
});

Обновить:

Вот еще немного моей задачи:

gulp.task('default', ['js', 'css', 'images', 'templates']);

gulp.task('images', function () {
    return gulp.src('./app/images/*')
        .pipe(newer('./dist/app/images'))
        .pipe(gulp.dest('./dist/app/images'));

gulp.task('templates', function () {
    return gulp.src('./app/**/*.html')
        .pipe(newer('./dist/app/templates.js'))
        .pipe(minifyHTML({ empty: true }))
        .pipe(templateCache({ module: 'app' }))
        .pipe(uglify())
        .pipe(gulp.dest('./dist/app'));

1 ответ

Я добавил развернутую папку, где я отслеживаю все файлы, которые развернуты.

var gulp = require('gulp');
var concat = require('gulp-concat');
var debug = require('gulp-debug');
var newer = require('gulp-newer');

gulp.task('default', ['js', 'css']);

gulp.task('js', function () {
    return gulp.src('./app/**/*.js')
        .pipe(newer('./dist/app.js'))
        .pipe(concat('app.js'))
        .pipe(gulp.dest('./dist/'));
});

gulp.task('css', function () {
    gulp.src('./app/**/*.css')
        .pipe(newer('./dist/style.css'))
        .pipe(concat('style.css'))
        .pipe(gulp.dest('./dist/'));
});

gulp.task('deploy', ['default'], function () {
    gulp.src('./dist/*')
        .pipe(newer('./deployed'))
        .pipe(debug())
        .pipe(gulp.dest('./deployed'))
});
Другие вопросы по тегам