1. ホーム
  2. deployment

[解決済み] gulpで再帰的にディレクトリをコピーするにはどうすればよいですか?

2022-04-15 18:40:30

質問

私は、作業ディレクトリからサーバー(同じマシン)にプロジェクトをステージングしようとしています。次のコードを使用しています。

gulp.src([
    'index.php',
    'css/**',
    'js/**',
    'src/**',
])
.pipe(gulp.dest('/var/www/'));

すべてのファイルがコピーされることを期待します。しかし、これはディレクトリ構造をフラットにします - すべてのディレクトリがコピーされますが、すべてのファイルはルートに置かれます /var/www

Gulpは素晴らしいビルドツールのようですが、アイテムのコピーはきっと簡単なプロセスであるべきでしょう?

解決方法は?

ディレクトリ構造を完全にコピーするためには gulp のベースとなるものを用意する必要があります。 gulp.src() メソッドを使用します。

そこで gulp.src( [ files ], { "base" : "." }) を上の構造で使用すると、すべてのディレクトリを再帰的にコピーすることができます。

もし、私のように、これを忘れてしまうようであれば、試してみてください。

gulp.copy=function(src,dest){
    return gulp.src(src, {base:"."})
        .pipe(gulp.dest(dest));
};