0

ストリーム内のファイルに gulp rename を使用しようとしています。これは私のコードです:

var jsFiles = gulp.src(['app/scripts/modules.js', 'app/scripts/**/*.js'])
    .pipe(map(function(path, callback) {
        path.dirname = Path.join('./dist', 'scripts', path.basename + path.extname);
    }));

私は次の変換を得ることを望んでいました:

  app/scripts/*     -> dist/scripts/*
  app/scripts/abc/* -> dist/scripts/abc/*

代わりに、私は得ました:

app/scripts/*     -> app/scripts/dist/scripts/*
app/scripts/abc/* -> app/scripts/dist/scripts/abc/*

このコードの何が問題になっていますか? とにかく、代替手段は map 関数のようなものです。私はこれを見つけました: https://github.com/dominictarr/map-streamしかし、この必要性のためにそれを使用する方法がわかりません。

4

1 に答える 1

0

ベースを指定してgulp.src、一致したファイルのパスの開始ディレクトリを決定できます。デフォルトではprocess.cwd()ですが、必要に応じて変更できます。

したがって、相対パスは、指定したすべてのbase部分をトリミングします。

var jsFiles = gulp.src(['app/scripts/modules.js', 'app/scripts/**/*.js'], { base: 'app/scripts' })
于 2014-09-27T00:33:08.180 に答える