moxt

Just another Blog site

Bower再入門

      2015/07/03

Bowerとは何なのか

Bowerとはjavascriptのパッケージ管理システム。
RubyでいうところのBundler。

bower.jsonというファイルにプロジェクトで利用するライブラリを明記しておきbower installを実行するだけで必要なライブラリをダウンロードしてくれる。
このbower.jsonをgitなどのバージョン管理システムで管理しておけば、複数人開発するときにライブラリはこれとこれを入れて…みたいなことを手動で頑張らなくてよい。結果、効率よく開発環境を整えることができる。

Bowerの使い方

たとえばjqueryをダウンロードするなら…

bower install jquery

と書けばよい。

するとbower_componentsというディレクトリが作られ、中にjqueryのディレクトリが作られる。

Bowerでダウンロードしたライブラリを使いたい

真面目にhtml内にscriptタグを書いて、bower_components/jquery/dist/jquery.min.jsとエンドポイントを指定するのもいい。
しかし、手でダウンロードしていた時代と比べ利便性が向上していない気がする。

ここでビルドランナーツールを導入する。

gulpを使う。

https://github.com/ck86/main-bower-files

main-bower-filesはbower_components以下(引数を与えれば任意のディレクトリを指定できる)にインストールされたjsファイル一覧を取得することができる。

ファイル一覧を外部公開用のディレクトリに平置きするだけでは結局たくさんのscriptタグを書かなければならない。
複数のjsファイルを1つのファイルにまとめて、scriptタグを1つだけ書けばOKという状況にしたい。

ペライチのhtmlでページ遷移なんてしないよ、って場合は↑が最適。
ページごとに読み込むjsが違う場合だと1つにまとまってると不都合あるだろう。
平置きしてチクチク読み込むか、htmlごとにまとめたjsファイルを作る感じになると思う。

https://github.com/wearefractal/gulp-concat

gulp-concatを使って複数のjsを1つのファイルにまとめる。
なお、予めbower installはしているものとする。

こんな感じ。
これでapp/scriptsフォルダにawesome_concat.jsが生成されている。
このファイルをhtmlで読みこめばOK

bower install すらgulpで実行したい

 - プログラミング

  • このエントリーをはてなブックマークに追加
  • follow us in feedly

  関連記事

no image
RDSの特定のデータベースをダンプする

Publicly Accessibleがyesならどこからでも下記が実行可能。 …

no image
意識低いRuby on Rails再入門6 ~ログイン必須のControllerを作りたい~

ログイン状態を取得するためのSessionsHelperを前に書いた 新規投稿画面を表示したり、実際に投稿するときにはログイン必須であることを保証したい。 …

no image
単語の出現頻度をlinuxコマンドだけで調べたい

無駄にpythonとか使おうとしてた。。 楽にできて良かった。 …

no image
Androidアプリを実機デバッグしたいのにNo debuggable applicationsと表示される時の対処例

Tools > …

no image
開発で詰まったときにググるキーワード

そもそも公式サイトやソースコード、テストコード、githubなどのissueを読む 基本的には1ヶ月から1年以内の回答しか見ないようにする …

logo_og
ReduxのMiddlewareについて理解したいマン

ReduxのMiddlewareの仕組みがよく分からない。 具体的な処理過程を追いかけて理解に至るまでのメモ。 …

no image
Androidアプリを作るために最低限必要な知識と未知の部分を列挙

作りたいアプリによって必要な知識は変わるかもしれないが。。 個人的過ぎて役に立たないが、整理がてら羅列してみる。 …

no image
YosemiteでRubyMineが起動できない

yosemiteからjavaが1.7系になってる。 一方、rubymineは1.6系を想定している。 …

no image
goで無限ループ

しょうもないが忘れるので。。

no image
DockerでNginxしたい

Contents1 Dockerfileを用意する2 …