I am currently refactoring a project where previously all of the minified JavaScript files were being placed in a specific directory. Now I need to the minified versions to stay in the same directories as their source files.
Currently I do 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 plete!',
onLast : true
} ) );
} );
This works, except it moves my files. I tried changing my use of gulp.dest()
to .pipe( gulp.dest( '' ) )
as well as just removing that line. In both cases no minified JS was written and I was very sad.
How can I make it write all files to the same directory as their source files?
I am currently refactoring a project where previously all of the minified JavaScript files were being placed in a specific directory. Now I need to the minified versions to stay in the same directories as their source files.
Currently I do 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 plete!',
onLast : true
} ) );
} );
This works, except it moves my files. I tried changing my use of gulp.dest()
to .pipe( gulp.dest( '' ) )
as well as just removing that line. In both cases no minified JS was written and I was very sad.
How can I make it write all files to the same directory as their source files?
Share Improve this question edited Mar 1, 2016 at 14:43 scniro 17k8 gold badges66 silver badges107 bronze badges asked Mar 1, 2016 at 4:26 JPollockJPollock 3,5584 gold badges27 silver badges37 bronze badges 1- What's the difference between your question and this one? – gideonite Commented Mar 1, 2016 at 4:30
2 Answers
Reset to default 8You're currently writing to build/js
, and of course removing the dest
results in no files written. As ments suggest, you can call file.base
in an anonymous function in your dest
call. Observe the following...
// 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 plete!',
onLast : true
}));
});
USE " ./ " ... current location
gulp.task('task_name', function () {
return gulp.src(path\*.js) // or other selection
.pipe(uglify())
.pipe(rename({suffix: '.min'})).pipe(gulp.dest("./"));
});