Go言語開発環境作成メモ
次のツールを導入します(上から順番に導入する).
IDEはIntelliJを推奨.
順に導入手順を記載
GitとGoが導入されている環境で、以下コマンドを実行.
$ go get github.com/jteeuwen/go-bindata/...
これで go-bindata
というコマンドがインストールされる.
GitとGoが導入されている環境で、以下コマンドを実行.
$ go get github.com/mattn/goemon/cmd/goemon
これで goemon
というコマンドがインストールされる.
node.jsがインストールされている環境で以下のコマンドを実行.
$ npm install -g react-tools
これで jsx
というコマンドがインストールされる.
せっかく静的言語だから入力補完を有効にしたい. Vimでも補完出来るように設定出来るらしいが、うまくいかなかった. またVimはクセありすぎなので、ここはIntelliJを使う.
またソース変更→ビルド→実行という手順を簡単にするのはIDEが一番.
しかし上記は少し情報が古い.
下記コマンドでHTML/CSS/JSの監視を開始すること.
$ goemon -c goemon.yml
なお goemon.yml
は河野が作ってGitリポジトリ管理している.
アプリを動かすには goji_main.go
を実行する.
デフォルトでは 8000
ポートでリッスンするので、以下のURLでWebアプリにアクセス出来る.
http://127.0.0.1:8000
他のプロセスによって 8000
番がふさがっているときは要注意.
特にエラーが出ず起動してしまうのだが、いざブラウザにアクセスすると Cannot GET <path>
と虚しく表示されるだけ.
非常に分かりにくい.
この場合は 8000
番をふさいでいるプロセスを殺すか、あるいは起動時に以下のようにオプションでポートを指定して回避する.
go run goji_main.go -bind=:8080
ポート番号の前に :
が必要なので注意すること.
assets/html/
assets/css/
assets/jsx/
React言語だろうが普通のJSファイルだろうが、ここに置くこと!
srcディレクトリの下にパッケージ名のディレクトリを切って、そこに関連ファイルを格納.
※開発が進んだらもう少しルールを細かく設定するつもり.
要は自動生成されるファイル.
assets/js/ 以下の全てのファイル (assets.goは例外. 触ることがあるかも)
src/assets/ 以下
bindata.go
と bindata_debug.go
はgo-bindataが作るファイル.
assets/js/
以下はjsxが作るファイル.
ここを参考に事前準備をしておく.
$ GOOS=linux GOARCH=amd64 go build -o GoSample src/main.go
$ main -mode=production -webPort=80
実行ファイルをサーバに持って行くのが、ちょっとたいへんw
S3なんかを使ってやり取りして下さい.
開発環境では変更をリアルタイムに反映するようにし、デプロイ環境では実行ファイル内のバイナリデータを扱い高速に動作するようにしている.
環境の切り替えは、起動時に mode
引数で行うようにしており、production
が指定された場合はデプロイ環境とみなしている.