私はGulpを初めて使用し、次のGulpfileを持っています
var gulp = require('gulp');
var jshint = require('gulp-jshint');
var concat = require('gulp-concat');
var rename = require('gulp-rename');
var uglify = require('gulp-uglify');
gulp.task('compress', function () {
return gulp.src('js/*.js') // read all of the files that are in js with a .js extension
.pipe(uglify()) // run uglify (for minification)
.pipe(gulp.dest('dist/js')); // write to the dist/js file
});
// default gulp task
gulp.task('default', function () {
// watch for JS changes
gulp.watch('js/*.js', function () {
gulp.run('compress');
});
});
変更したファイルのみをdistフォルダーに名前変更、縮小、保存するように構成します。これを行う最良の方法は何ですか?
これは方法です:
// Watch for file updates
gulp.task('watch', function () {
livereload.listen();
// Javascript change + prints log in console
gulp.watch('js/*.js').on('change', function(file) {
livereload.changed(file.path);
gutil.log(gutil.colors.yellow('JS changed' + ' (' + file.path + ')'));
});
// SASS/CSS change + prints log in console
// On SASS change, call and run task 'sass'
gulp.watch('sass/*.scss', ['sass']).on('change', function(file) {
livereload.changed(file.path);
gutil.log(gutil.colors.yellow('CSS changed' + ' (' + file.path + ')'));
});
});
gulp-livereload と一緒に使用することもできますが、 Chromeプラグイン をインストールする必要があります。
Gulpドキュメントのインクリメンタルビルド を参照してください。
Gulp.src関数のsinceオプションとgulp.lastRunを使用して、タスクの実行間で変更されていないファイルを除外できます。