##Firebase CloudFunctionsで - があるエンドポイントを作りたいけど、やり方がわからない
express.jsを使えば特に調べずにできるが、そこまで複雑ではないので、firebaseのみで完結させたい。
頑張って調べてみることにした。
####これだと、当然エラーが出ます
exports.hello-world = functions.https.onRequest((request, response) => {
response.json({ name: 'first' })
})
####そんなときは、ブラケット記法だと使ってみてlintでは引っかからなかったけど、firebaseにデプロイするときに弾かれる。
exports['hello-world'] = functions.https.onRequest((request, response) => {
response.json({ name: 'first' })
})
Running command: npm --prefix "$RESOURCE_DIR" run build
> functions@ build /Users/USERNAME/Desktop/PROJECTDIR/functions
> tsc
✔ functions: Finished running predeploy script.
i functions: ensuring required API cloudfunctions.googleapis.com is enabled...
i functions: ensuring required API cloudbuild.googleapis.com is enabled...
✔ functions: required API cloudbuild.googleapis.com is enabled
✔ functions: required API cloudfunctions.googleapis.com is enabled
i functions: preparing functions directory for uploading...
Error: Function name "hello-world" is invalid. Function names cannot contain dashes.
なんで( ;∀;)
##結論
exports.hello = {
world: functions.https.onRequest((request, response) => {
response.json({ name: 'first' })
}),
}
これが正解なのだそう。
ネストさせるみたいですね。
ブログなどの記事を見る前に、githubのissueを先に探しておけばよかったです。
##参考文献