Angular Universal,在具有静态页面的App的Firebase上使用?

时间:2019-02-22 16:20:18

标签: angular angular-universal

相关上下文:我是初学者。

我当前的应用程序:

  1. 是Angular 7,
  2. 托管在GitHub Pages
  3. 由实际上需要Angular功能的一页(主页-计算器)组成,还有几页基本上是静态HTML。 (每个此类页面当前都是Angular组件。)

我直到最近才意识到Google无法“看到”其他页面上的任何内容。我认为这是因为GitHub Pages基本上接受每个请求并重定向到主页,但是我的理解可能存在缺陷。

最近一整天我一直在阅读有关内容,认为我了解到:

  1. Angular Universal可用于将静态页面呈现为常规HTML,以便Googlebot可以看到它们,并且
  2. Angular Universal不能与GitHub Pages一起使用。

我的问题:

1)Angular Universal是最好的解决方案吗?我一直在阅读,Angular Universal难以实现,并且不能在各种情况下“很好地玩”。还有什么我应该研究的吗? (优先级是易于实施。)

2)如果我实现Angular Universal,Firebase是否适合作为托管应用程序的地方?

感谢任何输入/反馈。

1 个答案:

答案 0 :(得分:0)

经过几天的反复试验和谷歌搜索,我迷失了方向。因此,我以为我会分享我遵循的步骤,以防将来其他人遇到该线程。

首先,我按照@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

然后我得到一个错误:“找不到模块... 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目录中。)