Bower を試してみる
Bower (ばわー) は、フロントエンドライブラリのパッケージ管理ツール。簡単に言えば、ブラウザ上で使うライブラリを手軽にインストールできるシロモノ。
「インストール」というと、ぼくはなんだかどうしても、Windows ソフトのインストーラのようなレジストリを書き換えて情報を登録して…みたいなことをされるのかと思ってしまうのだが、そういうわけではない。Bower についていえば、指定したライブラリをネット上から検索→ダウンロード→指定の場所に格納、の作業を自動化してくれるだけだ。
Bower を導入するメリット
上述のとおり、ライブラリを手軽に導入できることがメリット。そして、導入したライブラリをバージョン含めて細かく一覧表示したりできるし、アップデートもコマンド一つとお手軽。
逆にいえば、ライブラリをダウンロードする作業を苦に感じておらず、使っているライブラリを手で管理できていて、アップデートをすることも早々ない、とかであれば、Bower を使わなくてもなんとかなる。その人の用途だったり、プロジェクトの規模だったりによると思う。
Bower を使い始める
Bower は npm で動作するので、Node.js の環境を作っておくこと。Node.js の導入方法は過去記事で紹介している。
- Node.js をインストールする
- Node.js をバージョン管理できる体制でインストールする
- Node.js V6 系は新しすぎるので V5 系を使うことにする
- npm でパッケージ管理しながら Gulp で Browserify を実行させて http-server で動作確認を行う
- Mac OSX El Capitan で GitHub と同期して Git を使うまで
Node.js・npm が導入できたら、ターミナル (コマンドプロンプト) より、以下のコマンドで Bower をグローバルインストールしておく。
$ npm install -g bower
Bower の初期設定
Bower でライブラリ管理したいディレクトリに移動し、Bower を使いますよーという初期設定を行う。
# プロジェクトフォルダに移動する
$ cd myProject
# Bower の初期設定
$ bower init
いくつか質問をされるが、基本は Enter の連打に Yes の回答のみで OK。内容的には npm init
と同じ感覚で、npm init
で生成した package.json
ファイルがあれば、その中身を見てプロジェクト名などは適宜サジェストしておいてくれたりする。
質問に答え終わると、bower.json
というファイルができる。package.json
に似た構成だ。
ライブラリをインストールする
試しに jQuery をインストールしてみる。
$ bower install jquery --save
bower_components/
というフォルダができ、その下に jquery/
フォルダができている。ライブラリはこの中にダウンロードされる。
--save
オプションをつけると bower.json
にそのライブラリ情報が書き込まれる。他の人などは、bower.json
さえあれば、その内容を基に bower install
コマンドでライブラリを一括インストールできる。このへんも npm install
の仕組みと同じ。
インストールしたライブラリの確認
# インストールしたライブラリの一覧表示
$ bower list
# インストールしたライブラリのエンドポイント (実際に参照すればいいファイル) の表示
$ bower list -paths
# jQuery であれば以下のように表示される
jquery: 'bower_components/jquery/dist/jquery.js'
# ライブラリの情報を知る
$ bower info jquery
bower list -paths
で確認したとおり、実際に HTML から jQuery を使用する場合は、
<script src="bower_components/jquery/dist/jquery.js"></script>
<!-- もしくは圧縮版 -->
<script src="bower_components/jquery/dist/jquery.min.js"></script>
のように参照してやればいい。
Bower はライブラリをダウンロードしてくるだけで、良き感じの場所に置き直したりはしてくれないので、エンドポイントの指定が面倒くさいのが欠点。これを解消するには、やはり Gulp などでファイルをビルドしてあげるしかないようだ。
色々試した
# underscore.js も入れてみた
$ bower install underscore
# bootstrap も入れようとしたら、先に入れていた jQuery とバージョンが合わずダウンロードできなかった。一旦 jQuery はアンインストールしておく
$ bower uninstall jquery --save
# bootstrap (と一緒に有効なバージョンの jQuery も) をインストール
$ bower install bootstrap
とりあえず、Bower を使う側の人間が知っておきたい基礎はこのぐらいか。Bower 覚えましたし!
以下の GitHub リポジトリで、Node.js 関連のツールを使ったりした勉強過程を残しています。