簡體   English   中英

如果管道中的文件是JavaScript,則Gulp任務將應用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));

但是就目前而言,丑陋似乎無能為力...

有人知道如何執行此操作嗎? (╥﹏╥)

如果您願意使用插件,則可以使用一種名為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));
});

嘗試使用gulp-filter

就像是

var filter = require('gulp-filter');
var jsFilter = filter('**/*.js');

gulp.src('*/*')
.pipe(jsFilter)
.pipe(uglify)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM