Gulp正在编译每一个Js文件



我的吞咽有问题
它运行良好,速度非常快,但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文件,但它会在后续运行时识别更改的文件

相关内容

  • 没有找到相关文章

最新更新