0

我有一个包含一些任务的 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'));
4

1 回答 1

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'))
});
于 2015-10-02T11:30:06.517 回答