0

保存を押すとすぐに、gulp babel がタスクを終了し、ターミナルにメッセージが出力されます。ただし、コードはブラウザーで更新されません。飲み込んだファイルを提供するローカルの Nginx があります。更新されたコードを取得するには、何度もリロードする必要があります。

私のgulpファイル:

gulp.task('js', function () {
    gulp.src([
        'src/app.js',
        'src/app.controller.js',
        'src/**/*.js',
        'libs/*.js'
    ])
        .pipe(sourcemaps.init())
        .pipe(babel())
        .pipe(concat()('app.js'))
        .pipe(sourcemaps.write('.'))
        .pipe(gulp.dest('dist'));
});

//other tasks here (css, assets etc)
...

gulp.task('watch', function () {
    gulp.watch('src/**/*.js', ['js']);
    gulp.watch([
        'src/**/*.html',
        'src/images/**/*',
        'src/fonts/**/*',
        'src/**/*.json'], ['assets']);
    gulp.watch('src/**/*.scss', ['sass']);
});
gulp.task('default', ['js', 'sass', 'assets', 'watch']);

Gulpのデフォルトは私が実行するものです。

ただし、gulp-babel (ES5 用) がなくても問題なく動作します。更新されたコードを取得するには、ブラウザーで 1 回だけリロードする必要があります。Chromeで「devtoolsが開いている間はキャッシュを無効にする」オプションを有効にしても、ハードリフレッシュを試みましたが、うまくいきませんでした。

この理由は何でしょうか?

4

1 に答える 1

1

Gulpがいつタスクが完了したかを知ることができるように、return前に追加する必要がありますgulp.src

gulp.task('js', function () {
    return gulp.src([
        'src/app.js',
        'src/app.controller.js',
        'src/**/*.js',
        'libs/*.js'
    ])
        .pipe(sourcemaps.init())
        .pipe(babel())
        .pipe(concat()('app.js'))
        .pipe(sourcemaps.write('.'))
        .pipe(gulp.dest('dist'));
});
于 2015-10-30T12:00:31.337 に答える