angular - Firebase Firestore 不适用于 Angular 通用
问题描述
我正在尝试按照https://angular.io/guide/universal的说明在 Angular 上使用服务器端渲染。
在第 5 步,尝试运行 npm run build:ssr && npm run serve:ssr 时出现如下错误:
TypeError: Cannot read property 'stringify' of undefined
at Object.<anonymous> (/.../dist/server.js:162338:308)
at __webpack_require__ (/.../dist/server.js:20:30)
看了那条线后,我发现它来自:
- node_modules/@firebase/webchannel-wrapper/dist -> index.js 和 index.esm.js
- node_modules/firebase/firebase-firestore.js.map
我尝试使用 firebase 5.6.0 和最新版本 5.7.2,但仍然遇到相同的错误。
这是关于我的项目的更多信息:angular 6,firebase 5.6.0,angular cli 6.1.0
请问您是否遇到过同样的问题或有任何解决此问题的建议?
更新 - 尝试从我的项目中删除 firebase 后,可以构建它并且它可以正常工作。
解决方案
对于遇到类似问题的人,请查看此链接以获取详细答案。
基本上,此链接中的说明似乎没有更新,因为提供的 repo 中的代码非常不同,更重要的是它甚至可以与 firestore 一起使用。
我确实克隆了 repo,然后尝试在其上添加 firestore,一切正常。因此,现在您有两个选择:按照说明执行并在上面给定的链接上应用来自@Feiyang1 的修复程序,或者只是克隆存储库并检查他们实现 SSR 的方式。
推荐阅读
- javascript - 找出 DOM 中的哪个框架发起了 postMessage(在 IE11 中)
- c - 将不同类型的指针分配给现有内存
- sql - 选择一个字段具有最大值的行,按另一个字段分组
- java - 将重复的 if-else 语句修改为更简洁的代码
- spring-boot - 有没有办法在 K8S 服务发现中为服务注册自定义元数据?
- oauth-2.0 - 使用 Auth0 的应用程序必须遵循哪些 OIDC 标准?
- database-design - Dynamodb 表设计:嵌套查询支持
- java - 如何调试仅记录来自 spring-framework 类的特定语句?
- java - 迁移到 Wildfly 后,无法提交具有大量输入字段的表单
- java - Logstash JDBC 输入插件执行失败并出现错误:第 9 行第 60 列应为 #、{、} 之一