Gulp - 缩小JS并写入相同的目标



我目前正在重构一个项目,其中以前所有缩小的JavaScript文件都放在一个特定的目录中。现在我需要缩小版本以保留与其源文件相同的目录中。

目前我这样做:

gulp.task( 'scripts', function () {
    return gulp.src( source_paths.scripts )
        .pipe( uglify( {
            preserveComments: 'false'
        } ) )
        .pipe( rename( {suffix: ".min"} ) )
        .pipe( gulp.dest( './build/js' ) )
        .pipe( notify( {
            message: 'Scripts task complete!',
            onLast : true
        } ) );
} );

这有效,除了它移动我的文件。我尝试将gulp.dest()的使用更改为.pipe( gulp.dest( '' ) )以及删除该行。在这两种情况下,都没有编写缩小的JS,我非常难过。

如何让它将所有文件写入与其源文件相同的目录?

您当前正在写入build/js,当然删除dest会导致没有写入任何文件。正如注释所建议的那样,您可以在dest调用中在匿名函数中调用file.base。观察以下内容...

// fixed spacing madness
gulp.task('scripts', function () {
    return gulp.src(source_paths.scripts)
        .pipe(uglify({
            preserveComments: 'false'
        }) 
        .pipe(rename({suffix: '.min'}))
        .pipe(gulp.dest(function(file) {
            return file.base;
        }))
        .pipe(notify({
            message: 'Scripts task complete!',
            onLast : true
        }));
});

使用" ./" ...当前位置

gulp.task('task_name', function () {
    return gulp.src(path*.js) // or other selection
    .pipe(uglify()) 
    .pipe(rename({suffix: '.min'})).pipe(gulp.dest("./"));
});

相关内容

  • 没有找到相关文章

最新更新