やりたい事
gulpを使ってjsを結合する際、結合ファイルや結合順序を細やかに設定したい。
###現状
現在gulpを使いcss/jsを結合・コンパイルしています。
例えばディレクトリ構造が
dir/assets/css ・・・出力css
dir/assets/js ・・・出力js
dir/src/js ・・・・・被結合js
dir/src/scss・・・・・scss
のような構造でgulpfile.jsに
gulp.task('concat', function() { console.log('------concat----------'); return gulp.src('dir/src/js/*.js') .pipe(concat('app.js')) .pipe(gulp.dest('dir/assets/js')); });
にしてdir/src/js内のjsを結合しています。
ここに依存関係、例えば、jsに依存関係がある場合は
gulp.src(['dir/src/js/vendor/*.js','dir/src/js/vendor/**/*.js','dir/src/js/*.js'])
などと結合順序を階層で差をつけて結合しています。
scssの場合、例えば2つのcss(style.cssとstyle2.css)を作りたい場合
_common.scss _foo.scss _bar.scss _hoge.scss
上記のようなファイルがあったとして
#style.scss
@import "common"; @import "foo"; @import "bar";
#style2.scss
@import "common"; @import "hoge";
のようにする事で
style.css、style2.scssには必要な内容だけのcss希望する順番でコンパイルできる。
上記のgulpを使ったjsの結合処理でも結合順序や結合するjsファイルを細やかにしていする方法はないんでしょうか?
app.jsは下記の順で
jquery
jquery-ui
app2.jsは下記の順で
jquery
FlexSlider
※)実際にはそれぞれもっと多くのjsを結合する事が多いと思う。
といったjsを2つ作りたい場合gulpfile.jsに読み込みjsを1つづつ列挙していくにもスマートでない気がするので、
どのファイルをどういう順番で結合し、何という名前のjsファイルを出力する
といった設定をするような方法は無いものでしょうか?
作るサイトがどのページも似たような処理でjsも1種類で良い場合問題ではないのですが、このページではapp.jsを使いたい、このページではapp2.jsが使いたいなどという場合不便さを感じています。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/11/29 08:39