@Konboi memo

主に技術に関してつらつらと。

go-bindata を使って静的ファイルもビルドファイルに含めてみる

追記 2018/02/08

使用時はお気をつけ下さい

はじめに

先日, gomaっていうmarkdown preview tool を練習がてら作ってみましたが、自分の手元に持ってきたら静的ファイルが含まれてないので、エラーになり使うことができませんでした。

perl でいう__DATA__ みたいなのをどうやるいのか調べていたところ

とアドバイスをもらったのでgo-binta調べて使ってみました。

go-bindata を使ってみた

go get  github.com/jteeuwen/go-bindata

すると go-bindata というコマンドが使えるようになります。

そして対象のファイルに対して go-bindata を実行する

今回は index.html だけだったの

go-bindata index.html

すると

bindata.go が出来上がります。 オプションで bindata.go 以外のファイル名、 main 以外のパッケージ名にすることもできます。

t, err := template.ParseFiles("index.html")

としていたところを

templ_file, err := Asset("index.html")
t, err := templ.Parse(string(templ_file))

このようにしました これでビルドしたものに index.html が含まれるようになりました。

めでたし、めでたし

参考サイト

まとめ

  • go-bindata すごい…
  • go-bindata 今度どうやってるのか調べる。
  • golangのお作法がイマイチ… な感じなので他のコードもっとみてみよう。

WEB+DB PRESS Vol.82

WEB+DB PRESS Vol.82