使用 Sapper 设置 Firestore

Mos*_*she 5 svelte google-cloud-firestore sapper svelte-3

我试图找出使用sapper设置 firestore 的最佳方法。我特别询问工兵(不是苗条)。

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

因此,简而言之,我想知道将 firestore 与工兵同步的最佳实践是什么。

有任何想法吗?

谢谢。

小智 0

有多种方法可以使用 firestore 设置工兵。您使用哪种方法取决于您正在构建的需求和目标。

\n

修改template.html

\n

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

\n

如果 Sapper 已更新,您可能需要更新\xe2\x80\x94,sapper 团队可能会通知您迁移文档template.html中所需的更改。

\n

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

\n

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

\n

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

\n

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

\n

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

\n
    \n
  • 使用 Sapper 的“服务器路由”将文档保存到 firestore 或从 firestore 获取文档
  • \n
  • 使用 Sapper 的preload函数加载文档/数据进行服务端渲染
  • \n
  • 使用浏览器的fetchapi 通过 Sapper 服务器路由创建、读取或更新文档。
  • \n
\n

要设置 Firebase Admin SDK,您可以按照 Firebase 文档中设置 Firestore 的说明进行操作,并选择Node.js作为代码示例(请注意,使用 Sapper,您可以使用 ES 模块import而不是require语句)。

\n

示例存储库

\n

我目前正在开发的一个项目在上面概述的类似 CMS 仪表板的方法中使用 Sapper+Firestore。它在 Github 上开源,所以请随意参考

\n