いま振り返ると単純な話だが、ものすごくはまった。
ことの発端
- 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に変更するというのは、最初に検証しても良い内容だったと思う。
次回から似たようなことが起こったら真っ先に疑う。