Gulp 如果管道中的文件是 javascript,则任务应用 uglify
Gulp task apply uglify if file in pipe is javascript
我想检查管道中的文件是否为 .js
(可能是 .map
、.html
、...)。如果是这样,请在将其复制到正确路径之前对其进行丑化。
ʕ •́È•̀) 我试过这样的方法(不起作用):
gulpfile.js
gulp.src(current + '/**/*', {base: current})
.pipe($.tap(function (file) {
if (path.extname(file.path) === '.js') {
return gulp.src(file.path)
.pipe($.uglify());
}
}))
.pipe(gulp.dest(destination + '/' + name));
但是现在,uglify 似乎什么也没做...
有人知道如何执行此操作吗? (╥﹏╥)
尝试使用 gulp-过滤器
类似于
var filter = require('gulp-filter');
var jsFilter = filter('**/*.js');
gulp.src('*/*')
.pipe(jsFilter)
.pipe(uglify)
如果您愿意使用插件,那么有一个名为 gulp-filter 的插件可以满足您的要求。 https://www.npmjs.com/package/gulp-filter
它可能看起来像这样
var gulp = require('gulp');
var gulpFilter = require('gulp-filter');
gulp.task('default', function () {
// create filter instance inside task function
var jsfilter = gulpFilter('**/*.js', {restore: true});
return gulp.src(current + '/**/*', {base: current})
// filter a subset of the files
.pipe(jsFilter)
// run them through a plugin
.pipe($.uglify())
// bring back the previously filtered out files (optional)
.pipe(jsFilter.restore)
.pipe(gulp.dest(destination + '/' + name));
});
我想检查管道中的文件是否为 .js
(可能是 .map
、.html
、...)。如果是这样,请在将其复制到正确路径之前对其进行丑化。
ʕ •́È•̀) 我试过这样的方法(不起作用):
gulpfile.js
gulp.src(current + '/**/*', {base: current})
.pipe($.tap(function (file) {
if (path.extname(file.path) === '.js') {
return gulp.src(file.path)
.pipe($.uglify());
}
}))
.pipe(gulp.dest(destination + '/' + name));
但是现在,uglify 似乎什么也没做...
有人知道如何执行此操作吗? (╥﹏╥)
尝试使用 gulp-过滤器
类似于
var filter = require('gulp-filter');
var jsFilter = filter('**/*.js');
gulp.src('*/*')
.pipe(jsFilter)
.pipe(uglify)
如果您愿意使用插件,那么有一个名为 gulp-filter 的插件可以满足您的要求。 https://www.npmjs.com/package/gulp-filter
它可能看起来像这样
var gulp = require('gulp');
var gulpFilter = require('gulp-filter');
gulp.task('default', function () {
// create filter instance inside task function
var jsfilter = gulpFilter('**/*.js', {restore: true});
return gulp.src(current + '/**/*', {base: current})
// filter a subset of the files
.pipe(jsFilter)
// run them through a plugin
.pipe($.uglify())
// bring back the previously filtered out files (optional)
.pipe(jsFilter.restore)
.pipe(gulp.dest(destination + '/' + name));
});