我的吞咽有问题
它运行良好,速度非常快,但Gulp正在编译我项目中的所有js文件。。。
我的吞咽手表:
gulp.task('watch', function () {
gulp.watch(sassFilesWatch, ['styles']);
gulp.watch(jsFilesWatch, ['uglify'])
});
我的阵列:
var jsFilesWatch = [
'clients/*/template/lib/jscripts/*.js',
'clients/*/template/modules/**/*.js',
'system/lib/jscripts/*.js',
'system/mod/**/*.js',
'clients/core/modules/**/*.js',
'!/**/*.min.js'
];
这是我的功能:
gulp.task('uglify', function(){
pump([
gulp.src(jsFilesWatch, {
base: './'
}),
debug({
title: 'Compiled',
showFiles: false,
}),
uglify(),
rename({ suffix: '.min' }),
gulp.dest('./')
]);
});
这就是输出:
输出
应该只编译我保存的文件我该怎么做?
感谢
似乎所有扩展名为.js的文件都是正在调试、放大和缩小。您试图编译哪个保存的文件?
**/*.js使用gulp命令监视所有文件夹中所有扩展名为.js的文件。
你可以使用.pipe()
var uglify = require('gulp-uglify'),
concat = require('gulp-concat');
gulp.task('js', function() {
gulp.src('scripts/*.js')
.pipe(uglify())
.pipe(concat('script.js'))
.pipe(gulp.dest('assets'))
});
看看这个插件,它将解决你的问题
https://www.npmjs.com/package/gulp-changed
尝试将您的任务更改为,
gulp.task('uglify', function(){
pump([
gulp.src(jsFilesWatch, {
base: './'
}),
changed('dist'),
ngAnnotate(),
debug({
title: 'Compiled',
showFiles: false,
}),
uglify(),
rename({ suffix: '.min' }),
gulp.dest('./')
]);
});
注意:这可能会在您运行任务后第一次运行所有的.js
文件,但它会在后续运行时识别更改的文件