grunt v0.4.x と Yeoman1.0 と bowerについて少し調べた
gruntがそろそろv0.4.0 が正式にリリースされそう(現在 v0.4.0rc8 ) なのですが、どうもYeoman など色々と関連するところがありそうなので、きちんと把握するためにまとめておきます
grunt 0.3 から 0.4 への変更点
ドキュメントが grunt から grunt-cli のinstallへ
v0.4.0 では grunt-cli
というgruntのコマンドインターフェイスのライブラリ経由でインストールします。
なので公式ドキュメントも最初にglobalの grunt を uninstall しています。経緯はあんまり上手く汲み取れていないのですが、まぁこれでglobalにinstallすれば、プロジェクトごとに何度もinstallしなくていいでしょ?ってことでしょうか。
npm uninstall -g grunt
npm install -g grunt-cli
https://github.com/gruntjs/grunt/wiki/Getting-started
init コマンドが別コマンドに。
ファイル工数を作る init
コマンドが grunt-init
に分割されています。npm install -g grunt-init
で install が可能。ただし いずれ、Yeoman に置き換わるそうです。
v0.3.x 系 pluginが非対応
grunt-contrib-*
というシリーズのpluginが用意されているのですが、 v0.3.x 系で利用出来ていた plugin は v0.4.x 系 用に修正する必要があるようです。
config の書き方が変わる
<json:file.json>
なんて書き方をしていたディレクティブが、<% %>
というスタイルのテンプレート、もしくは 通常のJavaScript関数などに置き換わります。
他にも色々ありますが、詳しくはドキュメントへ。
https://github.com/gruntjs/grunt/wiki/Upgrading-from-0.3-to-0.4
Yeoman1.0 beta
init にとって変わるという Yeoman。こちらも現在 1.0 beta が開発進行中です。0.9 までは、gruntのwrapperみたいなものだったのが、scaffold できるツールみたいな位置づけになります。これは公式サイトの絵がわかりやすいです。
コマンド名は yeoman
から yo
に変更になっています。
// install npm install -g yo grunt-cli bower // Basic scaffolding yo webapp // generator を探す npm search yeoman-generator // angular の scaffold を作ってみる npm install generator-angular yo angular
ちなみに、自分の環境ではangularのscaffoldでエラーが出ました。
bower
http://twitter.github.com/bower/
Yeomanでinstall が必要な bower。twitter製のウェブパッケージ管理。nom の package.jsonとの棲み分けがイマイチよくわからないですが、(簡単に社内用の検索サーバ立てられる、とか?) 最近見かけるようになってきたので、把握はしておきたいものです。
まとめ
- grunt v0.3.x 系と v0.4.x 系は違い、単純にアップデートできない
- Yeoman が gruntのwrapperから、scaffold ツールになりつつあり、今後お世話になることがあるかもしれない
あとで
- bower と npm の使い分けを考える