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

基于Firebase Firestore数据的Nuxt SPA动态路由,firebase,google-cloud-firestore,routing,nuxt.js,Firebase,Google Cloud Firestore,Routing,Nuxt.js,所以我想在Netlify上托管一个nuxt站点,其中有一个子路由,其slug是firebase firestore文档id 例如: https://www.example.com/users/steve (其中“steve”是文档ID) 因此,当路线被击中时,我需要查询firebase以查看它是否存在,如果不存在,我必须返回404。这可能吗?我可以在.net或php中轻松完成,但我对SPA非常不确定 具体来说,如果我能做到这一点,我应该在文档中寻找什么?一个解决方案是实现一个类似REST AP

所以我想在Netlify上托管一个nuxt站点,其中有一个子路由,其slug是firebase firestore文档id

例如:

https://www.example.com/users/steve
(其中“steve”是文档ID)

因此,当路线被击中时,我需要查询firebase以查看它是否存在,如果不存在,我必须返回404。这可能吗?我可以在.net或php中轻松完成,但我对SPA非常不确定


具体来说,如果我能做到这一点,我应该在文档中寻找什么?

一个解决方案是实现一个类似REST API的调用,向函数端点发送HTTP GET请求

如文档“用作
onRequest()
的参数”中所述,请求对象允许您访问客户端发送的HTTP请求的属性

因此,您的云函数将如下所示:

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();
    }

});

有关云功能的更多信息,请参阅和


请注意,您可以通过这样一种方式“将Firebase托管站点上的请求代理给特定的HTTP功能”。

@SteveMcNiven Scott您好,您有时间查看建议的解决方案吗?您好,我正面临着确切的问题。我想尝试一下你的答案,但是如果我的应用程序托管在Netlify上,我如何编写firebase函数?您好,我和您一样面临着一个确切的问题,在Netlify上托管一个SPA Nuxt应用程序,我需要在动态路由上显示来自firebase的数据。如果您能分享您的解决方案,我将不胜感激。对于给定的技术堆栈,这可能吗?