6
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

firebase + next.js + expressで、動的サイトの雛形を作る。

Last updated at Posted at 2020-02-05

やりたいこと

  • firebase上でnext.jsを使ってSSRしたい。
  • expressも一緒に使って、apiも一緒に作って、express内でDBアクセスとかできるようにしたい。アプリの初期化とかもexpressで完結できるようにしたい。(api用のエンドポイントを作りたい。)
  • nodemonを使って、watchして自動的にビルドさせたい。

やったこと(成果物)

ベースになっているのはこのtemplate
https://github.com/zeit/next.js/blob/canary/examples/with-firebase-hosting-and-typescript
こっちで実装した一番の肝はここ。
https://github.com/keenjoe007/firebase-ts-next-express-template/blob/e2775ba656e0a1e11996ac49b3a5776e10cc8c11/src/functions/index.ts

ハマリポイント

このテンプレートで開発するには?

現状スマートな方法を知りません。
申し訳ないんですが、git cloneしてremote origin変えてもらうか、

npm init next-app --example with-firebase-hosting-and-typescript with-firebase-hosting-and-typescript-app
# or
yarn create next-app --example with-firebase-hosting-and-typescript with-firebase-hosting-and-typescript-app

baseのtemplateでnextappを作って、レポジトリを参考にしてもらいつつ、改良するしかなさそう。カスタムテンプレート指定できる方法があればそうしたいので教えて下さい。

firebase authとか、firestore使えるの?

expressから、firebase-admin-toolsを使うことで使えます。
今色々試してるところです。

所感

firebaseはほぼ初触りだったが、思ったより簡単じゃなかった。むしろかなり悩まされた。
react or vue + firebaseで〇〇作りました!みたいなものと、今回やったのは結構別物だった。
nuxt.jsの方が簡単にできそうだった。
結局こういうことをする理由があるかは、今考えてみるとない気もしているが、達成感はある。
フロントエンドから直接DBアクセスしたりとかどうよ?って考えてたので、それをexpressでやりたかったので、そこはクリアできたかな、と思っている。
自動ビルドめっちゃ遅い。死ぬほど遅い。buildしないといけないので当たり前なんだけど、現代のサクサクweb開発みたいなの期待してるとガッカリするので、改善したいけど、アイデアはない。

6
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?