我正在尝试找出使用sapper设置 firestore 的最佳方法。我特别问的是工兵(不是苗条)。
关于这个主题的教程很少,我看到的那些我不确定。它们涉及修改 template.html 文件——我不确定这是否是个好主意。
所以,简而言之,我想知道在将 Firestore 与 sapper 同步方面的最佳实践是什么。
有任何想法吗?
谢谢。
我正在尝试找出使用sapper设置 firestore 的最佳方法。我特别问的是工兵(不是苗条)。
关于这个主题的教程很少,我看到的那些我不确定。它们涉及修改 template.html 文件——我不确定这是否是个好主意。
所以,简而言之,我想知道在将 Firestore 与 sapper 同步方面的最佳实践是什么。
有任何想法吗?
谢谢。
有多种方法可以使用 Firestore 设置 sapper。您使用哪种方法将取决于您正在构建的内容的要求和目标。
template.html
只要您保留应用程序运行所需的工兵令牌,修改 template.html 就没有问题。您可能会在令牌之前包含全局脚本依赖项,例如 firebase 客户端%sapper.scripts%
(请参阅您提到的那些教程)。
在 Sapper 更新的情况下,您可能需要更新- Sappertemplate.html
团队可能会通知您迁移文档中的必要更改。
这种方法适合部署到 Firebase 托管和使用sapper export
,因为您加载 Firebase 客户端库以与 Firestore 交互。
这种方法用于将 sapper 部署为服务器——或者更确切地说,不使用sapper export
.
如果您不想使用客户端库,并且确实想充分利用服务器端渲染 (SSR),则可以结合使用 Firebase Admin SDK 和 Sapper 的服务器路由(又名 CRUD 端点)。Firebase Admin SDK 包含所有 Firebase 产品,因此其中包含 Firestore。
使用 Firebase Admin SDK 操作 Firestore 文档的高级方法:
preload
函数加载文档/数据以进行服务器端渲染fetch
api 通过 Sapper 服务器路由创建、读取或更新文档。要设置 Firebase Admin SDK,您可以按照通过 Firebase 文档设置 Firestore 的说明进行操作,并为代码示例选择Node.js(请注意,对于 Sapper,您可以使用 ES 模块import
而不是require
语句)。
我目前正在开发的一个项目在上面概述的方法中使用 Sapper+Firestore 用于类似 CMS 的仪表板。它在 Github 上是开源的,所以请随意参考。