LoginSignup
6
6

More than 5 years have passed since last update.

grunt-bower-taskのlayoutが気に入らなかったので作った

Posted at

bowerを最近ようやく使い始めて、grunt-bower-taskで良い感じにtargetDirに吐き出すようにしたかったんですが、
デフォルトのlayoutはやたらディレクトリが深くなったり、
きちんとbower.jsonでmainを指定しているのとそうでないのとで構造が違ってくるとか、
もうなんか嫌だなあと思ったのでサクッと自前でlayout作ってみた。

Gruntfile.js
var path = require('path');
bower: {
    options: {
        targetDir: 'js/lib',
        layout: function(type, component) {
            var makeDir = false;
            if(makeDir) {
                if(type === 'css') {
                    return path.join(component, type);
                } else {
                    return path.join(component);
                }
            }
        }
    }
}

targetDirには吐き出したい先のディレクトリ、 makeDirはコンポーネントごとにディレクトリ分けるかどうかbooleanで記述します。

上の例ではjs/lib直下にライブラリのファイルが吐き出されるようになります。

あとはbower.jsonで良い感じにexportsOverrideを書いておけば(例えば本当に使うファイルだけ指定しておく)、きっと良い感じに吐き出してくれます。

6
6
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
6