0

いくつかのタスクを含む gulpfile があります。すべてのタスクは、他のすべてのタスクに依存する既定のタスクに結合されます。展開タスクを追加したい。デプロイはファイルのリストを取ることができます。変更したファイルのみをデプロイしたい。

すべての依存関係のパイプを取得する方法はありますか? または、すべてを 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/*')
    // 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 に答える