Angular Universal, на Firebase для приложений со статическими страницами? - PullRequest
0 голосов
/ 22 февраля 2019

Соответствующий контекст: я новичок.

Мое текущее приложение:

  1. Is Angular 7,
  2. Размещено на GitHub Pages,
  3. Состоит из одной страницы (домашняя страница - калькулятор), которая на самом деле требует функциональности Angular, плюс несколько страниц, которые в основном представляют собой статический HTML.(Каждая такая страница в настоящее время является угловым компонентом.)

Я только недавно понял, что Google не может "видеть" какой-либо контент на этих других страницах.Я думаю это потому, что GitHub Pages в основном принимает каждый запрос и перенаправляет на домашнюю страницу, но мое понимание здесь может быть ошибочным.

Я читал об этом в течение последнего дня или около тогои я думаю Я узнал, что:

  1. Angular Universal можно использовать для рендеринга статических страниц в виде обычного HTML, чтобы робот Google мог их видеть, и
  2. Angular Universal нельзя использовать с GitHub Pages.

Мои вопросы:

1) Является ли Angular Universal лучшим решением здесь?Я продолжаю читать, что Angular Universal сложно реализовать и он не «хорошо играет» с разными вещами.Есть ли что-то еще, что я должен изучить?(Приоритетом будет простота реализации.)

2) Будет ли Firebase подходящим местом для размещения приложения, если я реализую Angular Universal?

Спасибо за любой ввод / обратную связь.

1 Ответ

0 голосов
/ 26 февраля 2019

После нескольких дней проб и ошибок и поиска в Google, я наткнулся на этот процесс.Поэтому я просто подумала, что поделюсь шагами, которые я выполнила, если кто-то еще столкнется с этой веткой в ​​будущем.

Сначала я настроила хостинг с другой компанией, как предложено @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.)

...