みかづきブログ・カスタム

基本的にはちょちょいのほいです。

NuxtJS + TypeScript(nuxt-property-decorator) + Firebase Hosting + Cloud Functions でSSR環境をつくった際に {"code": "MODULE_NOT_FOUND"} になってしまったので調査した 🔥

f:id:kimizuka:20200615114604p:plain

いま振り返ると単純な話だが、ものすごくはまった。

ことの発端

MMODULE_NOT_FOUND

  • Nuxt.js + Firebase Hosting + Cloud Functions でSSRを実現しているプロジェクトが動かなくなった
  • {"code": "MODULE_NOT_FOUND"} と表示されるので、なにかモジュールが足りないようだ
  • 順を追って検証していくと、nuxt-property-decoratorを導入したタイミングで動かなくなった模様
  • しかし何故かローカルのFirebaseエミュレータでは動く

結論

  • nuxt-property-decoratorをdevDependenciesで読み込んでいたことが原因だった
  • nuxt-property-decoratorをdependenciesに変更したら解決した

疑ったこと

ローカルと本番の差分ということでいろいろ疑った。

  • nodeのバージョン
  • yarn(ローカルではyarnをつかっていた)
  • リージョン

本番との差分という視点ではないが、これらにも疑いの目を向けた。

  • node-fetch
  • NuxtJS(issueを一通り確認した)
  • nuxt-property-decorator(issueを一通り確認した)
  • vue-property-decorator(issueを一通り確認した)

いま思い返すと、devDependenciesをdependenciesに変更するというのは、最初に検証しても良い内容だったと思う。
次回から似たようなことが起こったら真っ先に疑う。