Angular Universal,在 Firebase for App with static pages 上?
Angular Universal, on Firebase for App with Static Pages?
相关背景:我是初学者。
我当前的申请:
- 是Angular7,
- 托管在 GitHub 个页面上,
- 包含一个实际需要 Angular 功能的页面(主页 -- 一个计算器),以及几个基本上只是静态的页面 HTML。 (每个这样的页面目前都是一个 Angular 组件。)
我最近才意识到 Google 不能 "see" 其他页面上的任何内容。我 认为 这是因为 GitHub Pages 基本上接受每个请求并重定向到主页,但我在这里的理解可能有缺陷。
我在过去一天左右的时间里一直在阅读这篇文章,我认为我了解到:
- Angular Universal 可用于将静态页面呈现为常规 HTML 以便 Googlebot 可以看到它们,并且
- Angular 通用不能与 GitHub 页一起使用。
我的问题:
1) Angular Universal 是这里最好的解决方案吗?我一直在读到 Angular Universal 很难实现,并且 "play nicely" 无法处理各种事情。还有什么我应该调查的吗? (优先考虑的是易于实施。)
2) 如果我实施 Angular 通用,Firebase 是否适合托管应用程序?
感谢任何input/feedback。
经过几天的反复试验和谷歌搜索,我偶然发现了这个过程。所以我只是想我会分享我遵循的步骤,以防将来其他人遇到这个话题。
首先,我按照@AlexanderStaroselsky 的建议设置了另一家公司的托管服务。 (我选择了 a2hosting,但我没有理由认为它们比其他提供商更好。)
我按照本教程中的步骤开始:
https://medium.com/@MarkPieszak/angular-universal-server-side-rendering-deep-dive-dc442a6be7b7
然后我按照此处的步骤创建 prerender.ts 文件等:
https://github.com/angular/angular/issues/23024#issuecomment-446205508
然后我得到一个错误:"cannot find module ... ngfactory." 所以经过一番搜索后,我将这里的 app.server.module 更改为:
https://medium.com/@suman.g/great-article-worked-like-charm-21673f8b6f80
然后我编辑了 tsconfig.server.json 以包含此处包含的关于 "commonjs" 的行:
https://github.com/angular/universal-starter/blob/master/src/tsconfig.server.json
最后,我将 dist/browser 目录中的所有内容(仅此而已)上传到我的主机。 (对于a2主机,我放在public_html目录下。)
相关背景:我是初学者。
我当前的申请:
- 是Angular7,
- 托管在 GitHub 个页面上,
- 包含一个实际需要 Angular 功能的页面(主页 -- 一个计算器),以及几个基本上只是静态的页面 HTML。 (每个这样的页面目前都是一个 Angular 组件。)
我最近才意识到 Google 不能 "see" 其他页面上的任何内容。我 认为 这是因为 GitHub Pages 基本上接受每个请求并重定向到主页,但我在这里的理解可能有缺陷。
我在过去一天左右的时间里一直在阅读这篇文章,我认为我了解到:
- Angular Universal 可用于将静态页面呈现为常规 HTML 以便 Googlebot 可以看到它们,并且
- Angular 通用不能与 GitHub 页一起使用。
我的问题:
1) Angular Universal 是这里最好的解决方案吗?我一直在读到 Angular Universal 很难实现,并且 "play nicely" 无法处理各种事情。还有什么我应该调查的吗? (优先考虑的是易于实施。)
2) 如果我实施 Angular 通用,Firebase 是否适合托管应用程序?
感谢任何input/feedback。
经过几天的反复试验和谷歌搜索,我偶然发现了这个过程。所以我只是想我会分享我遵循的步骤,以防将来其他人遇到这个话题。
首先,我按照@AlexanderStaroselsky 的建议设置了另一家公司的托管服务。 (我选择了 a2hosting,但我没有理由认为它们比其他提供商更好。)
我按照本教程中的步骤开始:
https://medium.com/@MarkPieszak/angular-universal-server-side-rendering-deep-dive-dc442a6be7b7
然后我按照此处的步骤创建 prerender.ts 文件等:
https://github.com/angular/angular/issues/23024#issuecomment-446205508
然后我得到一个错误:"cannot find module ... ngfactory." 所以经过一番搜索后,我将这里的 app.server.module 更改为:
https://medium.com/@suman.g/great-article-worked-like-charm-21673f8b6f80
然后我编辑了 tsconfig.server.json 以包含此处包含的关于 "commonjs" 的行:
https://github.com/angular/universal-starter/blob/master/src/tsconfig.server.json
最后,我将 dist/browser 目录中的所有内容(仅此而已)上传到我的主机。 (对于a2主机,我放在public_html目录下。)