GCF/GoのローカルでのデバッグとNuxt.jsでgoogleapis使うのメモ

久々に手頃な技術ネタが出来たんで技術ブログの方に書こうと思ってたんだけど、ダラダラしてたらこの時間になってしまった・・・

週末にでも書きたいということで概要だけメモ的に。


Google Cloud Functionsでデプロイに失敗する件は、エラーメッセージこそそれっぽくないけど結局はコードに問題があってコンパイルが失敗してるだけだった。

で、ローカルで試す手段が必要ってことになるんだけど、これは

  • cmdとかなにかディレクトリを掘って中にhttpサーバを立てるmain.goを置く
  • 動かす時はgo run cmd/main.goみたいな感じで指定する
  • デプロイには不要なんで.gcloudignoreでディレクトリごと外す

みたいな感じで試せる環境をつくれた。

今の所モジュール名だったり呼ぶべきハンドラだったりがべた書きで個別のFunctionごとに作らなきゃいけないんだけど、この辺をなんとか抽象的に扱える物が作れると使い勝手がよくなりそう。


Nuxt.jsで作ってるシステムからスプレッドシートにエクスポートしたい案件があったんだけど、googleapisはでかすぎて上手くコンパイルできないしテンプレート内にscriptタグ載せられないしどうしようと四苦八苦。

www.npmjs.com

結果としては、ページ単位ならそれぞれのvueファイルにhead項として、全ページならnuxt.configファイルのhead項にscript: [{src: 'https://apis.google.com/js/client.js'}]てな具合のものを追加してやれば良さそう。

ja.nuxtjs.org

これで各コンポーネントでgapiオブジェクトを使用できる。