有多种方法可以使用 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 文档的高级方法:
要设置 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.