Quantcast
Channel: Big Sky
Viewing all articles
Browse latest Browse all 121

開発速度を加速するツール、goemon を書いた。

$
0
0

SPA (Single Page Application) を書いていると、いちいちブラウザをリロードするのが面倒で、かつ js を minify してページをリロードするといった面倒な手間を出来れば何も設定せずにやりたい(もしくは微量な設定だけでやりたい)、という思いから goemonというツールを書きました。

mattn/goemon - GitHub
https://github.com/mattn/goemon

goemon は、コマンドラインツールとして使います。まず

$ goemon -g > goemon.yml

goemon.ymlを生成します。個人的にカスタマイズしたい人は生成されたファイルを変更して使って下さい。

# Generated by goemon -g
livereload: :35730
tasks:
match: './assets/*.js'
  commands:
  minifyjs -m -i ${GOEMON_TARGET_FILE} > ${GOEMON_TARGET_DIR}/${GOEMON_TARGET_NAME}.min.js
  :livereload /
match: './assets/*.css'
  commands:
  :livereload /
match: './assets/*.html'
  commands:
  :livereload /
match: '*.go'
  commands:
  go build
  :restart
  :livereload /
$ goemon ./foo

fooが起動します。サーバを起動するコマンドを渡す事になります。デフォルトの設定だと以下の様に動作します。

  • assets/*.jsが変更されたら同じディレクトリに minify した js(拡張子: .min.js) を生成し、/を livereload (自動再読み込み)する。
  • assets/*.htmlassets/*.cssが変更されたら /を livereload する。
  • *.goが変更されたら go buildしてアプリを再起動(引数を再実行)した後、/を livereload する。

つまりは開発者はエディタで編集するだけでブラウザ勝手にリロードしてウマーーー!という想定

別に golang だけのツールという訳では無いので、ruby や node/io.js 等でも使えます。ワイルカードパターンには **/*.jsという複数ディレクトリ階層のワイルドカードも使えます。もちろんですが、Windows でも動作します。詳しくは README を参照下さい。

goemon で使える便利なパターンやコマンドがあれば、ぜひ pull-request して下さい。


Viewing all articles
Browse latest Browse all 121

Trending Articles