1

私の gulpfile では、index.js処理され、要件が取り込まれ、吐き出されbundle.jsます。問題は、更新された場合でも更新をトリガーする必要があることですrequiredfile.js。これが私のコードです:

var browserify = require('browserify'),
    watchify = require('watchify'),
    gulp = require('gulp'),
    source = require('vinyl-source-stream'),
    sourceFile = './index.js',
    destFolder = './',
    destFile = 'bundle.js';

gulp.task('browserify', function() {
    return browserify(sourceFile, {transform: 'reactify'})
        .bundle()
        .pipe(source(destFile))
        .pipe(gulp.dest(destFolder));
});

gulp.task('watch', function(){
    var bundler = browserify(sourceFile, {
        debug: true,
        cache: {},
        packageCache: {},
        transform: 'reactify'
    });
    var watcher  = watchify(bundler);

    return watcher.on('update', function () { // When any files update
        console.log('Updating!');
        var updateStart = Date.now();
        watcher.bundle()
            .pipe(source(destFile))
            .pipe(gulp.dest(destFolder));
        console.log('Updated!', (Date.now() - updateStart) + 'ms');
    })
        .bundle() // Create the initial bundle when starting the task
        .pipe(source(destFile))
        .pipe(gulp.dest(destFolder));
});

gulp.task('default', ['browserify', 'watch']);

requiredfile.js他のファイルが変更されたときに (同じプロセスを実行して問題を引き起こさずに) 更新を追加するにはどうすればよいですか?

4

1 に答える 1

0

それを理解して、リストされたファイルのいずれかが更新されるたびにトリガーされる、最初のタスクをラップする別のタスクを追加しました。

gulp.task('watchall', function(){
    gulp.watch( ['index.js', 'js/*.js', 'js/**/*.js', 'index.html'], ['browserify']);
});

更新: これは遅い更新です。

于 2015-06-17T11:59:14.510 に答える