Gulp “你说什么?”&引用;在文件路径中是什么意思?

Gulp “你说什么?”&引用;在文件路径中是什么意思?,gulp,Gulp,我正在阅读我找到的某人的gulpfile.js,发现了一个有趣的角色,我以前在文件路径中没有见过这个角色;符号。我试着做了一些搜索,但没有结果 gulp.task("min:js", function () { gulp.src([paths.js, "!" + paths.minJs], { base: "." }) .pipe(concat(paths.concatJsDest)) .pipe(uglify()) .pipe(gulp.

我正在阅读我找到的某人的
gulpfile.js
,发现了一个有趣的角色,我以前在文件路径中没有见过这个角色;
符号。我试着做了一些搜索,但没有结果

gulp.task("min:js", function () {
    gulp.src([paths.js, "!" + paths.minJs], { base: "." })
        .pipe(concat(paths.concatJsDest))
        .pipe(uglify())
        .pipe(gulp.dest("."));
});

是否执行<代码>在这里有一些特殊的含义?

我不是Gulp方面的专家,但a表明它告诉Gulp忽略给定的路径

在路径前面加上感叹号,告诉Gulp排除该目录

因此,在您的示例中,
path.minJs
应该从Gulp正在执行的任务中排除



实际上,它是用来否定一个模式,基于对另一个问题的否定。也就是说,它用于选择与以下模式不匹配的内容。因此,它会忽略模式中的路径。

除了我在此处报告的上述注释之外:


请注意,如果您的任务必须将js编译成小型js,那么您宁愿使用两个不同的文件夹。例如,一个文件夹/source/js/,其文件在min.js中编译为/dist/js/(或/public/js/或任何您想要的文件)

这是我在大多数项目中经常用来连接和丑化Js文件的一段代码:

// My task called jsmin depend on another task, assume it is called clean but could be whatever
// That means that until the clean task is not completed, the jsmin task will not be executed.
gulp.task( 'jsmin', ['clean'], function() {

    // First I clean the destination folder
    del([ 'public/js/*' ]);

     // Then I compile all the Js contained in source/js/ into min.js into public/js/
     // In my example I concatenate all the Js together then I minimize them.
     return gulp.src( 'source/js/*.js' )
    .pipe(concat( "js.min.js" ))
    .pipe(uglify())
    .pipe(gulp.dest('public/js/'));
});

希望这对您有所帮助。

谢谢您的回复。我读了好几遍,但这句话从来没有让我感到惊讶。请注意,如果你的任务必须将js编译成小型js,你宁愿使用两个不同的文件夹。例如,一个文件夹/source/js/,其文件在min.js中编译为/dist/js/(或/public/js/或任何您想要的文件)。您已经保存了我的一天。谢谢