如何在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前缀的文件呢?
你可以使用否定模式来排除。min.js文件。
gulp.src(['dev/js/*.js', '!dev/js/*.min.js'])
如果你想在一个字符串中做,你可以使用:
gulp.src(["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
为前进
相关文章:
- Gruntfile.js-找不到任务“default”
- 如何在Grunt.js中观察多个文件,但只在更改的文件上运行任务
- 在节点.js的多个线程中运行任务
- 多个 js 库的 Gulp 任务以及适当的名称
- 在Meteor.js中运行后台任务
- Node.js异步并行“;类型错误:任务不是函数;
- 如何从Node.js运行gullow任务-gullow.start()的任何更好的替代方案
- 如何在angular.js中处理多个异步任务
- 在JS上使用JQuery执行简单任务的任何原因
- Node.JS async.paralle'不要等到所有任务都完成
- Node.js的长期任务
- 加载“Gruntfile.js”任务语法错误
- Gruntfile.js任务无法读取包值
- 咕噜咕噜.js任务..错误
- 咕噜咕噜.js任务错误
- 用于开发/生产环境的交替grunt.js任务
- Node . js任务,从beaglebone收集数据,服务web和发送数据
- Loading" Gruntfile.js"任务. .错误
- Grunt Lodash模板可以在Gruntfile.js任务中使用吗?
- 将参数传递给async.js任务