彼のリポジトリでのDavid:
https://github.com/davideast/react-ssr-firebase-hosting
メインルートにFirebase関数index.js
を含むファイルがあり、/functions
ディレクトリにnotがあります。
ただし、同じことを行ってindex.js
ファイルをメインルートにドロップすると、firebase deploy --only functions
を実行するとコンソールに次のように表示されます。
i deploying functions
Error: functions\index.js does not exist, can't deploy Firebase Functions
[〜#〜] q [〜#〜]:彼がどうやってそれを機能させたのでしょうか?同じようにして、/functions
以外のディレクトリから関数を正常に展開するにはどうすればよいですか?
ありがとう
firebase.json
{
"hosting": {
"public": "build",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
],
"rewrites": [
{
"source": "**",
"function": "ssrapp"
}
]
},
"functions": {
"source": "/"
}
}
Firebase CLIで作成したプロジェクトワークスペースには、次のようなCloud Functionsのスタンザを持つfirebase.jsonというファイルが含まれています。
"functions": {
"predeploy": [
"npm --prefix $RESOURCE_DIR run lint"
],
"source": "functions"
}
その「ソース」プロパティは、Cloud Functionsで実行されるコードを含むフォルダーの名前を定義します。これを好きなように変更できます。
ルートディレクトリを関数フォルダーとして使用する場合は、.
のsource
キーをfirebase.json
に変更するだけです。
"functions": {
"source": ".",
"predeploy": [
"npm --prefix \"$RESOURCE_DIR\" run lint",
"npm --prefix \"$RESOURCE_DIR\" run build"
]
}
これにより、ルートディレクトリでindex.js
ファイルが検索されます(他のすべてのファイルもルートディレクトリに移動することを忘れないでください)。
ドキュメント: https://firebase.google.com/docs/functions/manage-functions#deploy_functions