Gulp正在编译每个Js文件

时间:2019-01-24 15:08:17

标签: javascript gulp gulp-watch gulp-uglify

我的吞咽物有问题。
它工作正常,速度很快,但是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('./')
    ]);
});

多数民众赞成在输出:
Output

我的保存文件应该被编译 我怎样才能做到这一点?

非常感谢

2 个答案:

答案 0 :(得分:0)

似乎您所有带有.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'))
});

答案 1 :(得分:-1)

看看这个插件,它将解决您的问题

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文件,但是它将在以后的运行中识别出更改的文件