Gulp - 缩小 JS 并写入相同的目的地
Gulp - Minify JS and write to same destination
我目前正在重构一个项目,之前所有缩小的 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
}));
});
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("./"));
});
我目前正在重构一个项目,之前所有缩小的 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
}));
});
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("./"));
});