如何在 gulp 任务中仅排除 .min.js 文件,同时保持在同一目录中?
How do I exclude only .min.js files in gulp task, while staying in same directory?
我正在尝试为我的前端工作设置一个构建系统,尽管我 运行 遇到了一个问题,它一遍又一遍地循环处理文件。这是我的 js 处理的问题,因为我不确定如何只排除以 .min 作为后缀的文件。
任务如下
return gulp.src(["!dev/js/*.min.js", "dev/js/*.js"])
.pipe(plumber())
.pipe(browserify())
.pipe(smaps.init())
.pipe(uglyify({preserveComments: "license"}))
.pipe(smaps.write())
.pipe(rename({suffix: ".min"}))
.pipe(gulp.dest(output_dir));
虽然我发现它仍然以 .min.js 文件为目标,因为它们也被视为 .js 文件。我弄乱了这些通配符的一些不同配置,但我一直以任务循环结束,创建 example.min.js
然后 example.min.min.js
然后 example.min.min.min.js
等等
那么,我怎样才能只处理不包含 .min 前缀的文件呢?
您可以使用 negated patterns 来排除 .min.js 个文件。
gulp.src(['dev/js/*.js', '!dev/js/*.min.js'])
在您的 gulp
命令中。
const
gulpIgnore = require( 'gulp-ignore' ),
uglify = require( 'gulp-uglify' ),
jshint = require( 'gulp-jshint' ),
condition = './**/*.min.js';
gulp.task( 'task', function() {
gulp.src( './**/*.js' )
.pipe( jshint() )
.pipe( gulpIgnore.exclude( condition ) )
.pipe( uglify() )
.pipe( gulp.dest( './dist/' ) );
} );
在 condition
中指定您的目录。 ../
后退,/dir
前进
如果你只想在一个字符串中完成,你可以使用:
gulp.src(["dev/js/!(*.min)*.js"])
我正在尝试为我的前端工作设置一个构建系统,尽管我 运行 遇到了一个问题,它一遍又一遍地循环处理文件。这是我的 js 处理的问题,因为我不确定如何只排除以 .min 作为后缀的文件。
任务如下
return gulp.src(["!dev/js/*.min.js", "dev/js/*.js"])
.pipe(plumber())
.pipe(browserify())
.pipe(smaps.init())
.pipe(uglyify({preserveComments: "license"}))
.pipe(smaps.write())
.pipe(rename({suffix: ".min"}))
.pipe(gulp.dest(output_dir));
虽然我发现它仍然以 .min.js 文件为目标,因为它们也被视为 .js 文件。我弄乱了这些通配符的一些不同配置,但我一直以任务循环结束,创建 example.min.js
然后 example.min.min.js
然后 example.min.min.min.js
等等
那么,我怎样才能只处理不包含 .min 前缀的文件呢?
您可以使用 negated patterns 来排除 .min.js 个文件。
gulp.src(['dev/js/*.js', '!dev/js/*.min.js'])
在您的 gulp
命令中。
const
gulpIgnore = require( 'gulp-ignore' ),
uglify = require( 'gulp-uglify' ),
jshint = require( 'gulp-jshint' ),
condition = './**/*.min.js';
gulp.task( 'task', function() {
gulp.src( './**/*.js' )
.pipe( jshint() )
.pipe( gulpIgnore.exclude( condition ) )
.pipe( uglify() )
.pipe( gulp.dest( './dist/' ) );
} );
在 condition
中指定您的目录。 ../
后退,/dir
前进
如果你只想在一个字符串中完成,你可以使用:
gulp.src(["dev/js/!(*.min)*.js"])