0

Gulp を使用してファイルを自動的にコピー/バンドル/コンパイルしています。基本的に、フォルダー構造全体をベース フォルダー (MyProject/Scripts) から wwwroot/js にコピーします。

コピー/処理の過程で、出力パス/ファイル名の名前を小文字に変更したいと考えています。ChangeCase-module と Rename-module を見つけましたが、以下のセットアップで動作させることができません。

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));
});
4

1 に答える 1

2

にコールバック関数を渡すことができます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));
});
于 2016-03-24T16:39:00.857 に答える