基于Firebase Firestore数据的Nuxt SPA动态路由

问题描述 投票:0回答:1

所以我想在Netlify上托管一个nuxt网站,那里有一条子路由,谁的子弹是Firebase Firestore文档ID。

示例:

https://www.example.com/users/steve

((“ steve”是文档ID)

因此,当路由被点击时,我将需要查询firebase以查看其是否存在,如果不存在,则必须返回404。这是否可能?我可以在.net或php中轻松完成此操作,但是我不确定SPA。

如果可以的话,我应该在文档中寻找什么?

firebase google-cloud-firestore routing nuxt.js
1个回答
0
投票

一种解决方案是实现一个HTTPS Cloud Function,就像REST API一样调用,向功能端点发送HTTP GET请求。

如文档“用于onRequest()的参数中所述,Request对象使您可以访问客户端发送的HTTP请求的属性”。

所以您的Cloud Function看起来像:

exports.getUser = functions.https.onRequest((req, res) => {
  // get the value of the user by parsing the url
  const baseUrl = req.baseUrl;
  //Extract the user from baseUrl
  const user = ....

 //query the Firestore database
 admin.firestore().collection('users').doc(user).get()
 .then(doc => {
    if (doc.exists) {
        res.status(200).end();
    } else {
        res.status(404).end();
    }

});

有关云功能的更多信息,请参见get started pagevideo series。>>

请注意,您可以connect an HTTP function to Firebase Hosting,这样的方式是“您的Firebase托管站点上的请求可以代理到特定的HTTP函数”。

© www.soinside.com 2019 - 2024. All rights reserved.