【问题标题】:Setting Up Firestore with Sapper使用 Sapper 设置 Firestore
【发布时间】:2020-03-26 14:37:47
【问题描述】:

我正在尝试找出使用 sapper 设置 Firestore 的最佳方法。我特别问的是工兵(不是苗条)。

关于这个主题的教程很少,我看到的那些我不确定。它们涉及修改 template.html 文件——我不确定这是否是个好主意。

所以,简而言之,我想知道将 Firestore 与 sapper 同步方面的最佳做法是什么。

有什么想法吗?

谢谢。

【问题讨论】:

标签: google-cloud-firestore svelte sapper svelte-3


【解决方案1】:

有多种方法可以使用 Firestore 设置 sapper。您使用哪种方法取决于您正在构建的内容的要求和目标。

修改template.html

只要保留应用程序运行所需的the sapper tokens,修改 template.html 就没有问题。您可能会在 %sapper.scripts% 令牌之前包含全局脚本依赖项,例如 firebase 客户端(请参阅您提到的那些教程)。

如果 Sapper 已更新,您可能需要更新 template.html — Sapper 团队可能会在 the migration documents 中通知您必要的更改。

此方法适合部署到 Firebase 托管并使用 sapper export,因为您加载 Firebase 客户端库以与 Firestore 交互。

使用 Firebase Admin SDK + Sapper 服务器路由(CRUD 端点)

这种方法用于将 sapper 部署为服务器——或者更确切地说,使用sapper export

如果您不想使用客户端库,但确实想充分利用服务器端渲染 (SSR),您可以将 Firebase Admin SDK 与 Sapper 的服务器路由(又名 CRUD 端点)结合使用。 Firebase Admin SDK 包含所有 Firebase 产品,因此 Firestore 也包含在其中。

使用 Firebase Admin SDK 操作 Firestore 文档的高级方法:

  • 使用 Sapper 的 "Server Routes" 将文档保存到 Firestore 或从中获取文档
  • 使用 Sapper 的 preload function 加载文档/数据以进行服务器端渲染
  • 使用浏览器的fetch api 通过 Sapper 服务器路由创建、读取或更新文档。

要设置 Firebase Admin SDK,您可以按照 instructions for setting up Firestore via the Firebase documentation,并为代码示例选择 Node.js(请注意,对于 Sapper,您可以使用 ES 模块 import 而不是 require声明)。

示例存储库

我目前正在开发的一个项目在上述方法中使用 Sapper+Firestore 用于类似 CMS 的仪表板。 It is opensource on Github, so feel free to reference it.

【讨论】:

    猜你喜欢
    • 2020-09-10
    • 2018-12-09
    • 2020-04-09
    • 2020-02-21
    • 2019-10-10
    • 2020-02-25
    • 2021-03-01
    • 2020-06-09
    • 2021-02-10
    相关资源
    最近更新 更多