Изменение выходных каталогов / файлов в нижний регистр в Gulp

Я использую Gulp для автоматического копирования / упаковки / компиляции моих файлов, я в основном копирую всю структуру папок из базовой папки (MyProject/Scripts) в wwwroot/js.

В процессе копирования / обработки я хочу переименовать выходной путь / имена файлов в нижний регистр. Я нашел ChangeCase-модуль и Rename-модуль, но я не могу заставить его работать в моей настройке ниже.

gulp.task("compile:less", function () {
    return gulp.src(paths.lessSrc)
        .pipe(less())
        //how can I get to currentdirectory so I can use it for the rename? maybe there is another way
        //.pipe(rename({ dirname: changeCase.lowerCase(??currentdir??) }))
        .pipe(gulp.dest(paths.cssTarget));
});

а также

gulp.task("compile:js", function () {
    return gulp.src(paths.jsOrigin)
        //simple copy of folders and files but how to rename all to lowercase?
        .pipe(gulp.dest(paths.jsTarget));
});

1 ответ

Решение

Вы можете передать функцию обратного вызова gulp-rename:

gulp.task("compile:js", function () {
  return gulp.src(paths.jsOrigin)
    .pipe(rename(function(path) {
       path.dirname = changeCase.lowerCase(path.dirname);
       path.basename = changeCase.lowerCase(path.basename);
       path.extname = changeCase.lowerCase(path.extname);
     })) 
    .pipe(gulp.dest(paths.jsTarget));
});
Другие вопросы по тегам