我正在尝试为我的前端工作设置一个构建系统,虽然我遇到了一遍又一遍地循环处理文件的问题。这是我的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前缀的文件?
答案 0 :(得分:8)
您可以使用negated patterns排除.min.js文件。
gulp.src(['dev/js/*.js', '!dev/js/*.min.js'])
答案 1 :(得分:0)
在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
向前移动
答案 2 :(得分:0)
如果只想使用一个字符串,则可以使用:
gulp.src(["dev/js/!(*.min)*.js"])