2017-11-10 8 views
0

次のように私は私のsrc/ディレクトリを持っている:Gulp、Pug - src/directoryのサブディレクトリにあるすべての.pugファイルを/ distにコンパイルすると、ディレクトリ階層が維持されます。

src/ 
---about/ 
------history.pug 
------mission.pug 
---contact/ 
------email.pug 
---index.pug 

私は.pugファイルは、彼らもdist/ディレクトリにこのディレクトリ階層を維持するようにコンパイルすることにしたいです。次のようなものがあります:

dist/ 
---about/ 
------history.html 
------mission.html 
---contact/ 
------email.html 
---index.html 

私はpugファイルを処理するためにGulpを使用しています。これは、1つのタスクgulpを使用して達成することができますか?ありがとう!私のパグファイルを扱うための

ザ・ガルプタスク:

gulp.task('pug', function() { 
    return gulp.src('src/pug/*.pug') 
    .pipe(pug({ 
     basedir: "./" 
    })) 
    .pipe(gulp.dest('dist/html')); 
}) 
+0

はい、1つのタスクで簡単に達成できます。コードを表示する必要があります。 – Mark

+0

@Mark私のGulpタスクを含む質問を編集しました。どうすればそこに組み込むことができますか? –

答えて

1
gulp.task('pug', function() { 
    return gulp.src('src/**/*.pug') 
    .pipe(pug()) 
    .pipe(gulp.dest('dist')); 
}) 

は、あなたのパグファイルを取得し、私はあなたがしたいと思う場所にそれらを配置します。あなたのコードには

.pipe(gulp.dest('dist/html')); 

がありますが、希望のdistフォルダ構造にはhtmlフォルダはありません。同じコメント

gulp.src('src/pug/*.pug') 

あなたのsrcディレクトリにはpugサブフォルダがありません、なぜここにsrc/pugがありますか?

また、{basedir:....}はpugプラグインのオプションだと思っていませんので削除しました。

+0

うわー、ありがとう!それは十分に簡単でした。質問に表示されたsrcとdistのディレクトリは、実際のディレクトリではなく単なる例です。私はそこでもっと明確にすべきだったことは分かっています。ああ、basedirはオプションです。ダブルチェック –

+0

うれしかった。答えが役に立ったら、それを受け入れてください。ありがとう。 – Mark

関連する問題