gulp rev不使用gulp手表
下面是我的代码,我的主要问题,我必须观察js和css的变化,并根据正确版本生成min文件,我的输出目录也是一样的,这也是一种情况gulp rev不使用gulp手表,gulp,gulp-watch,gulp-rev,gulp-rename,Gulp,Gulp Watch,Gulp Rev,Gulp Rename,下面是我的代码,我的主要问题,我必须观察js和css的变化,并根据正确版本生成min文件,我的输出目录也是一样的,这也是一种情况 'use strict'; var gulp = require('gulp'); var rename = require('gulp-rename'); var uglify = require('gulp-uglify'); var watch = require('gulp-watch'); let cleanCSS = require('gulp-clea
'use strict';
var gulp = require('gulp');
var rename = require('gulp-rename');
var uglify = require('gulp-uglify');
var watch = require('gulp-watch');
let cleanCSS = require('gulp-clean-css');
var rev = require('gulp-rev');
var jsArr = [
'search/media/src/js/*.js',
//'common/media/js/*.js',
'!search/media/src/js/*.testmin.js',
'!search/media/src/js/*.min.js'
// '!common/media/js/*.testmin.js',
];
var cssArr = [
'search/media/css/*.css',
'!search/media/css/*.testmin.css',
'!search/media/css/*.min.css'
];
gulp.task('js', function () {
//return gulp.src(jsArr, {base: './'})
return gulp.src(jsArr)
.pipe(watch(jsArr))
.pipe(uglify())
.pipe(rename({suffix: '.testmin'}))
.pipe(rev())
.pipe(gulp.dest(function (file) {
return file.base;
}))
.pipe(rev.manifest({
merge: true
}))
.pipe(gulp.dest('./'));
});
gulp.task('css', function () {
//return gulp.src(cssArr, {base: './'})
return gulp.src(cssArr)
.pipe(watch(cssArr))
.pipe(cleanCSS())
.pipe(rename({suffix: '.testmin'}))
.pipe(rev())
.pipe(gulp.dest(function (file) {
return file.base;
}))
.pipe(rev.manifest({
merge: true
}))
.pipe(gulp.dest('./'));
});
gulp.task('default', ['js', 'css'], function () {
});
var watcher = gulp.watch([jsArr, cssArr], ['default']);
watcher.on('change', function (event) {
console.log('File ' + event.path + ' was ' + event.type + ', running tasks...');
});
谢谢你的帮助。我做了一些测试,通过在一个gulp任务中包装
watcher.on('change
)`使gulpwatch正常工作。要调用它,它必须在一个吞咽任务内
gulp.task( 'watch', function () {
var watcher = gulp.watch( [jsArr, cssArr], ['default'] );
watcher.on('change', function (event) {
console.log('File ' + event.path + ' was ' + event.type + ', running tasks...');
});
});
你也可以这样设置,如果你愿意的话。这将看到js和css任务彼此分离
gulp.task( 'watch', function () {
gulp.watch( jsArr, ['js'] );
gulp.watch( cssArr, ['css'] );
});
此外,您还需要删除管道(watch(jsArr))
和管道(watch(cssArr))
。实际上,我不确定gulp watch是否可以这样使用,因为我从来没有这样使用过,但在运行gulp watch
时,它会导致任务挂起而无法完成
要启动gulp watch,请在终端中运行gulp watch