0

Я искал использование prerender для моего приложения с угловым выражением, и у меня возникли проблемы с мыслью о том, как его реализовать на производстве и, более конкретно, в Героку.Развертывание Prerender.io с Node.js на производстве

Так я понял из документации, на localhost, я могу запустить мое приложение на localhost:9000, а затем в другом терминале запустить экземпляр prerender на скажем localhost:9001. Затем, используя prerender-node промежуточного программного обеспечения я могу сказать следующее:

app.use(require('prerender-node').set('prerenderServiceUrl', 'http://localhost:9001'));

То, что я не понимаю, как я мог бы запустить prerender службы на localhost:9000 вместо этого? Я действительно не хочу настраивать совершенно новый сервер, чтобы запустить prerender. Моя самая большая проблема с отдельным сервером - как я могу назвать это в производстве? Должен ли я установить URL-адрес как-то вроде my-prerender-server.com, который потребует покупки этого домена? Это может показаться глупым, но как я могу держать его красивым и простым? Я хотел бы запустить все это из одного приложения, если это возможно ...

Любые идеи или советы?

ответ

0

Я использую prerender и node-prerender для обработки сканеров моего углового приложения 1.

Необходимо, чтобы два сервера прослушивали разные домен/порт. Самый простой способ - создать поддомен, такой как prerender.company.com, поскольку он является бесплатным и должен быть легко настроен в ваших DNS.

Возможно, вы запустите оба сервера в одном процессе, используя что-то вроде vhost, но проще и проще запускать два сервера sepperate.

+0

Не могли бы вы немного расширить свою настройку, когда используете самодельное решение? При тестировании локально я буквально просто загрузил приложение demo 'prerender' и использовал случайную команду, которую я видел в Интернете, чтобы связать службу, чтобы прослушать' localhost: 9000'. Библиотека 'node-prerender' выглядит как простой пример, включающий только одну строку кода для установки вашего URL-адреса, но есть ли что-то особенное в разработке вашего решения? – germainelol

+0

'node-prerender' - простой однострочный. Сервер почти идентичен демоверсии и довольно легко настраивается. Вы можете изменить порт, установив 'process.env.PORT' и т. Д. В нашем угловом приложении мы используем' window.prerenderReady = true', это позволяет нам установить, когда загружаются все необходимые ресурсы для prerender. Мы также настроили плагин s3 cache без каких-либо проблем. – Thorning

+0

Спасибо, поэтому 'node-prerender' определит, является ли запрос ботом или нет. Что вы делаете, когда делаете 'window.prerenderReady = true'? И как бы вы передали эту переменную 'prerenderReady' на сервер, чтобы она знала, когда начать рендеринг HTML? – germainelol

Смежные вопросы