gulpfile.jsの書き方についての質問です。
gulp.jsを使ってjade保存時にhtmlを出力させているのですが、そのときにhtmlが出力されるパスを、jadeと同じ場所にしたいと思っています。
例として、以下のようなディレクトリ構造で作業しているとします。
ルート
└node_modules
└gulpfile.js
└index.jade
└フォルダ1
│└index.jade
└フォルダ2
└index.jade
それぞれのフォルダにあるjadeを保存したときに、以下のように出力されてほしいと思っています。
ルート
└node_modules
└gulpfile.js
└index.jade
└index.html
└folder1
│└index.jade
│└index.html
└folder2
└index.jade
└index.html
上記を実現するためにgulpfile.jsを編集しているのですが、以下のような書き方の場合だと、ルートにあるjadeしか認識してくれません。
lang
1# coffeescript 2 3gulp = require('gulp') 4plumber = require('gulp-plumber') 5jade = require('gulp-jade') 6 7gulp.task 'jade', -> 8 gulp.src('*.jade') 9 .pipe(plumber()) 10 .pipe(jade( 11 pretty: true 12 )) 13 .pipe gulp.dest('./') 14gulp.task 'default', -> 15 gulp.watch '*.jade', ['jade'] 16
そこで、以下のようにtaskとwatchの部分を書き足せば、それぞれのフォルダのjadeを認識することはできるのですが、この場合だとフォルダが増えるたびにgulpfile.jsを書きなおさないといけないため、もし大規模なプロジェクトになった場合は修正が大変です。
lang
1# coffeescript 2 3gulp = require('gulp') 4plumber = require('gulp-plumber') 5jade = require('gulp-jade') 6 7gulp.task 'jade', -> 8 gulp.src('*.jade') 9 .pipe(plumber()) 10 .pipe(jade( 11 pretty: true 12 )) 13 .pipe gulp.dest('./') 14gulp.task 'jade_folder1', -> 15 gulp.src('folder1/*.jade') 16 .pipe(plumber()) 17 .pipe(jade( 18 pretty: true 19 )) 20 .pipe gulp.dest('./folder1') 21gulp.task 'jade_folder2', -> 22 gulp.src('folder2/*.jade') 23 .pipe(plumber()) 24 .pipe(jade( 25 pretty: true 26 )) 27 .pipe gulp.dest('./folder2') 28gulp.task 'default', -> 29 gulp.watch '*.jade', ['jade'] 30 gulp.watch 'folder1/*.jade', ['jade_folder1'] 31 gulp.watch 'folder2/*.jade', ['jade_folder2']
よって、どのフォルダにあるjadeも認識し、そのjadeと同じフォルダにhtmlを出力させる、できるだけ簡潔なgulpfile.jsの書き方は無いでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/07/09 03:05