main.js
すべてのスクリプトを 1 つのファイルにコンパイルして、インデックス ファイルにリンクしようとしています。問題は、すべてのスクリプト ファイルが連結されてからファイルに追加さmain.js
れることです。そのため、3 回保存すると、基本的にすべてのスクリプトの 3 つのコピーが連結されてmain.js
ファイルに入れられます。
main.js
保存するたびにファイルを削除してから連結を実行するか、コンテンツを追加する前にファイルをクリーンアップしたいと思います。モジュールを使用してファイルを削除しようとすると、del
このアクションを強制しないと作業ディレクトリからファイルを削除できないというエラーが表示されます。可能であれば、これを強制することは避けたいと思います。
これを行うにはもっとエレガントな方法が必要だと思います..
これが私のスクリプトタスクです:
// Concat and compile our JS into a minified dist file
gulp.task('scripts', function() {
return gulp.src('../app/public/assets/scripts/**/*.js')
.pipe(jshint())
.pipe(jshint.reporter('default'))
.pipe(concat('main.js'))
//.pipe(del(['../app/public/assets/scripts/main.js'])) <-- Doesn't work without forcing
.pipe(gulp.dest('../app/public/assets/scripts'))
.pipe(gulpif(flags.build, gulp.dest('../app/dist/assets/scripts')))
.pipe(rename({ suffix: '.min' }))
.pipe(uglify())
.pipe(gulpif(flags.build, gulp.dest('../app/dist/assets/scripts')))
.pipe(notify({ message: 'Finished compiling scripts' }));
});