gulp-ectで階層構造が上手く再現されない

相変わらずgulpに振り回されているけーすけです。どう考えても使わない方が早い。

さて、爆速らしいテンプレートエンジン、ECTをgulpで使うgulp-ectですが、npm install gulp-ectして適当に

// ECT
gulp.task('ect', function(){
 return gulp.src(['app/ect/**/*.ect','!app/ect/**/_*.ect'], {base: 'app/ect'})
 .pipe(ect({data: function (filename, cb) {
 console.log(filename);
 cb({foo: "bar"});
 }}))
 .pipe(gulp.dest('app'));
});

とかやって(デバッグ用コンソール出力はこちら様を参考に)、

app
│
├─about
├─company
├─css
├─ect
│ ├─partials
│ ├─about
│ └─company
├─images
└─js

みたいな構造で、ect以下、partialsを除いてaboutとかcompanyとか全てにindex.htmlがある状態で動かしても、何故か、aboutにもcompanyにもect直下のindex.ectが書き出されてしまう。

はて、gulpfile.jsの問題かしらんと思っていじくったりぐぐったりで3時間。

考えて見たら、階層構造自体は再現されているのだからgulpfile.jsの問題とは思えないということで、gulp-ectのindex.jsの23行目辺りを

 //var filePath = file.base;
 var filePath = path.dirname(file.path);

改変。まだちゃんと使ってないですが、とりあえずディレクトリ1個に関しては上書きされずに動作することを確認したので、これでようやくまともにサイトのコーディングに使えるかなという感じです。

爆速爆速という割りに、意外と使われてないのかなぁ。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です