yeoman, grunt, bowerで静的サイト構築(第四回)
yeoman, grunt, bowerで静的サイト構築(第三回)の続き
今回の内容は下記です。
- bower, .bowerrc, bower.json
- grunt-bower-install
bower
以前にも簡単に触れてはいますが、yeomanのインストール時にbowerもインストールされ、yo mobileの実行でbower installが実行されていました。
裏で実行されているだけでは何もわからないので、bowerのインストールから処理を追っていきます。
install
$ npm i -g bower
.bowerrc
generator-mobileで構築したプロジェクトの直下に「.bowerrc」というファイルが作成されています。
「.bowerrc」はbowerの動作を定義するconfigファイルで、ライブラリのインストールディレクトリの指定をしています。
{ "directory": "app/bower_components" }
bower.json
generator-mobileで構築したプロジェクトの直下に「bower.json」というファイルが作成されています。
「bower.json」はbowerで管理するライブラリの定義ファイルです。
デフォルトでmodernizrとjqueryが管理対象として定義されています。
{ "name": "mobile", "version": "0.0.0", "dependencies": { "modernizr": "~2.6.2", "jquery": "~1.9.1" }, "devDependencies": {} }
bowerのコマンド
- bower search
bowerでインストール可能なライブラリの一覧を表示します
- bower search XXX
XXXに部分一致するライブラリ一覧を表示します
- bower install
bower.jsonに設定されている全ライブラリをインストールします
- bower install XXX -S
XXXのライブラリをインストールします
「-S」を指定すると、bower.jsonにもライブラリが登録されます
インストール先のディレクトリは.bowerrcで指定したディレクトリになります
- bower uninstall XXX
XXXのライブラリをアンインストール(ファイル削除)します
詳しくはhttps://github.com/bower/bowerでご確認ください。
grunt-bower-install
bowerでインストールしたライブラリを、指定したテンプレートファイルにコマンドで反映させるgruntのタスクです。
ヘッダの定義ファイル等、JSの読み込み設定を行うファイルに下記の用なタグを設置しておきます。
$ vi app/bower-install-test.html
<!-- bower:js --> <!-- endbower -->
$ vi Gruntfile.js
※Gruntfile.jsの設定に関しては、https://github.com/stephenplusplus/grunt-bower-installをご確認ください。
'bower-install': { target: { html: 'app/bower-install-test.html', } }
設定したタスクを実行します
$ grunt bower-install
対象ファイルの内容を確認します。
$ cat app/bower-install-test.html
<!-- bower:js --> <script src="app/bower_components/jquery/jquery.js"></script> <script src="app/bower_components/modernizr/modernizr.js"></script> <!-- endbower -->
bower.json, .bowerrcで定義してあるライブラリがHTMLで出力されましたね。
一度設定してしまえば、ライブラリの追加は下記を実行するだけで完了します。
$ bower install XXX -S
$ grunt bower-install
今回はbowerについて、記載してみました。
難しいことは何もしていないので、導入しやすいのではないでしょうか?