gulp-replace создает нежелательный каталог

Я создал это простое задание:

gulp.task('default', function () {
  gulp.src(['test.txt'])
    .pipe(replace('aaa', 'bbb'))
    .pipe(gulp.dest('result.txt'))
})

test.txt Исходный файл находится в том же каталоге, что и gulpfile.

Проблема в том, что он создает результирующий файл в result.txt/test.txt,

Как я могу заставить это создать это config.js файл без этого нежелательного result.txt/ папка?

1 ответ

Решение

Согласно документации, gulp.dest принимает целевой каталог, а не имя файла.

Если вы хотите поместить в тот же каталог, что и ваш gulpfile.js затем используйте .:

gulp.task('default', function () {
  gulp.src(['test.txt'])
    .pipe(replace('aaa', 'bbb'))
    .pipe(gulp.dest('.'))
});

Но будьте осторожны, так как это перезапишет оригинальный файл! Вы не можете переименовать файл с gulp.dest, для этого вам нужно будет использовать другой пакет, такой как gulp-rename и делать что-то вроде этого:

gulp.task('default', function () {
  gulp.src(['test.txt'])
    .pipe(replace('aaa', 'bbb'))
    .pipe(rename('target.txt'))
    .pipe(gulp.dest('.'))
});
Другие вопросы по тегам