Javascript 吞咽-缩小JS并写入同一目标

Javascript 吞咽-缩小JS并写入同一目标,javascript,node.js,gulp,gulp-uglify,Javascript,Node.js,Gulp,Gulp Uglify,我目前正在重构一个项目,以前所有缩小的JavaScript文件都放在一个特定的目录中。现在,我需要将缩小的版本保留在与其源文件相同的目录中 目前我这样做: gulp.task( 'scripts', function () { return gulp.src( source_paths.scripts ) .pipe( uglify( { preserveComments: 'false' } ) ) .pipe(

我目前正在重构一个项目,以前所有缩小的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
        }));
});
使用“/”。。。当前位置


您的问题和?别忘了在gulpfile requires区域添加带有npm install gul rename和“var rename=require('gulp-rename');”的gulp rename。
gulp.task('task_name', function () {
    return gulp.src(path\*.js) // or other selection
    .pipe(uglify()) 
    .pipe(rename({suffix: '.min'})).pipe(gulp.dest("./"));
});