Gulp - Minimize JS and write to the same destination

I am currently reorganizing a project where previously all mini JavaScript files were placed in a specific directory. Now I need the mini versions to remain in the same directories as the source files.

I am currently doing this:

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
        } ) );

} );

This works, except that it moves my files. I tried changing my usage gulp.dest()to .pipe( gulp.dest( '' ) )as well as just deleting this line. In both cases, not a single mini-JS was written, and I was very sad.

How can I make it write all files to the same directory as the source files?

+4
source share
2 answers

build/js , , dest . , file.base dest. ...

// 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
        }));
});
+3

"./"...

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

All Articles