最も簡単な修正はもう少し優雅にエラーを処理するためにゴクゴク-配管工を使用することです。それが更新されてから縮小さのファイルを防ぐことができますので、個人的に
var plumber = require("gulp-plumber");
gulp.task('scripts',() => {
return gulp.src('assets/js/src/*.js')
.pipe(plumber())
.pipe(jshint())
.pipe(jshint.reporter('jshint-stylish', {beep: true}))
.pipe(concat('main.js'))
.pipe(gulp.dest('assets/js/build/'))
.pipe(uglify())
.pipe(gulp.dest('assets/js/'))
.pipe(browserSync.stream({stream: true}));
});
が、私はそのソリューションを好きではありません。ここに私がお勧めするものがあります:
var jshintSuccess = function (file) {
return file.jshint.success;
}
gulp.task('scripts',() => {
return gulp.src('assets/js/src/*.js')
.pipe(sourcemaps.init())
.pipe(jshint())
.pipe(jshint.reporter('jshint-stylish', {
beep: true
}))
.pipe(gulpif(jshintSuccess, uglify()))
.pipe(concat('main.js'))
.pipe(sourcemaps.write('maps'))
.pipe(gulp.dest('assets/js/'))
.pipe(browserSync.stream({
stream: true
}));
});
まず、私は複数の宛先に書きません。代わりに、私はソースマップを使用していますので、あなたは未使用コードを必要としません。第二に、条件付きでjshintの結果に基づいてコードをuglifyでパイプする場合、gulp-ifを使用しています。エラーのあるコードはuglifyをバイパスするので、依然としてあなたの目的地のファイルに書き込まれます。
これで、開発者用ツールを使って検査してデバッグすることができます。
注:私はこれはローカル開発用です。私はこれを連続的な統合パイプラインに結びつけません。なぜなら、あなたは良いコードを生産にしたいからです。そのために別のタスクを設定するか、別のgulp-if条件を追加して、壊れたコードが環境変数に基づいて構築されないようにします。
これは機能しました。どうもありがとう :) – jst16