Firebaseを使ってP5をScrapboxで実行する

Firebaseを使ってP5をScrapboxで実行する

(2019/11/7)

GitHub Pagesを使ってp5をScrapboxで実行するようにしていたが、Firebaseを使う方法を試してみた。
Firebase Hostingというやつを使う。
https://masui.github.io/runp5/?p=masui/p5をScrapboxで実行する&c=p5.js より簡単に実行できるようにしたい

手順
ローカルマシンにFirebaseツールをインストール
$ npm install -g firebase-tools
Firebase環境の設定
$ mkdir runp5
$ mkdir runp5/public
$ cd runp5
https://github.com/masui/runp5 にある index.htmlとかをpublicフォルダに置く
$ firebase init
Hostingを選択する
その他いろいろ指定する
$ firebase deploy
run-p5になってるのは、6文字以上という制約があるため
runp5.comで動かす
firebaseapp.com じゃなくて独自ドメインで動かしたい
Google Domainsで runp5.com を取得する
Firebaseに接続する
ダッシュボードで設定する
ステータスが『設定が必要です』となっている間は独自ドメインからは接続できません.しばらく待たないといけないようです.
待てばいいのかな
3時間ぐらい待ってもかわらない... 増井俊之
どうもGoogle Domainsで設定が必要らしい
自動じゃなかったのか...
こんなのを設定した
保留中になった
1時間たっても変わらず
最大24時間かかる?
http://runp5.com/ は動くようになったが https にならない
httpsにする方法がわからない
DNSSECとやらの設定なのかもしれない
違うかもしれない
やっとhttpsになった(半日後ぐらい)

結果
というわけで、よくわからないが動くようにはなった
ノウハウが多いようで大変だったが
Firebaseは、あまり重要でないサービスを軽く作るには良いのかも
サーバでRuby動かしたりはできないだろうし制限はある
もっと複雑なものはHerokuなどでやるのが良いのだろうが、サーバの機能をほとんど使わない場合はFirebaseで良いということなのだろうか

ハマったところ
DNSの設定がよくわからない
httpsの設定もよくわからない
index.htmlの中でindex.jsを相対パス指定してたらエラーで動かなかった
/index.js みたいな指定が必要
ルーティングの方法がわからない
https://runp5.com/project/page/file を認識するためには firebase.json に以下のような記述を書く
firebase.json
Copied!
"rewrites": [
{
"source": "/*/*/*",
"destination": "/index.html"
}
],
こう書くと、 runp5.com/project/page/file のようなURLを与えたとき index.html に飛ぶ
index.js の中で、 document.location.pathname /a/b/c になっている場合を調べる
そういうのをJSでやるのは邪道ではないのか? よくわからない。
JSONでもJSでもルーティングの指定をしなきゃならないのは変だと思う

#ブログ #Firebase #P5 #Tips 2019/11/7
Powered by Helpfeel