Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/svn/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Gulp正在编译每个Js文件_Javascript_Gulp_Gulp Watch_Gulp Uglify - Fatal编程技术网

Javascript Gulp正在编译每个Js文件

Javascript Gulp正在编译每个Js文件,javascript,gulp,gulp-watch,gulp-uglify,Javascript,Gulp,Gulp Watch,Gulp Uglify,我的吞咽有问题。 它工作得很好,速度也很快,但是Gulp正在编译我项目中的所有js文件 我的怀表: 我的阵列: var jsFilesWatch = [ 'clients/*/template/lib/jscripts/*.js', 'clients/*/template/modules/**/*.js', 'system/lib/jscripts/*.js', 'system/mod/**/*.js', 'clients/core/modules/**/

我的吞咽有问题。 它工作得很好,速度也很快,但是Gulp正在编译我项目中的所有js文件

我的怀表:

我的阵列:

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: './'
        }),
        changed('dist'),
        ngAnnotate(),
        debug({
            title: 'Compiled',
            showFiles: false,
        }),
        uglify(),
        rename({ suffix: '.min' }),
        gulp.dest('./')
    ]);
});

注意:这可能会在您运行任务后的第一时间运行所有.js文件,但它会在后续运行中识别更改的文件

似乎所有扩展名为.js的文件都是 正在调试、丑化和缩小。 您要编译哪个保存的文件

**/*.js使用gulp命令查看所有文件夹中扩展名为.js的所有文件

你可以用烟斗

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'))
});

嗯,我想编译我修改过的文件。它不需要哪个文件。我想在与.js相同的目录下编译该文件,而不是在资产文件夹或类似的地方。我已经用烟斗试过了。同样的结果..从您提供的信息很难说,但从您的回复中,我了解到您更改的文件没有输出到相应的文件夹中。嗯,例如:我有一个js目录。。在这个目录中有一个main.js和一个test.js。当我编译main.js时,我不想在资产文件夹中编译它。它应该将js文件夹中的/uglify编译成main.min.js。我希望这对您来说是可以理解的。是的,我无法从您最初的问题中提取这一点。试试gulp.dest'/js';您还可以查看gulp concat以将文件合并在一起,如果有帮助,请告诉我。
gulp.task('uglify', function(){
    pump([
        gulp.src(jsFilesWatch, {
            base: './'
        }),
        changed('dist'),
        ngAnnotate(),
        debug({
            title: 'Compiled',
            showFiles: false,
        }),
        uglify(),
        rename({ suffix: '.min' }),
        gulp.dest('./')
    ]);
});
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'))
});