Я искал использование 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
, который потребует покупки этого домена? Это может показаться глупым, но как я могу держать его красивым и простым? Я хотел бы запустить все это из одного приложения, если это возможно ...
Любые идеи или советы?
Не могли бы вы немного расширить свою настройку, когда используете самодельное решение? При тестировании локально я буквально просто загрузил приложение demo 'prerender' и использовал случайную команду, которую я видел в Интернете, чтобы связать службу, чтобы прослушать' localhost: 9000'. Библиотека 'node-prerender' выглядит как простой пример, включающий только одну строку кода для установки вашего URL-адреса, но есть ли что-то особенное в разработке вашего решения? – germainelol
'node-prerender' - простой однострочный. Сервер почти идентичен демоверсии и довольно легко настраивается. Вы можете изменить порт, установив 'process.env.PORT' и т. Д. В нашем угловом приложении мы используем' window.prerenderReady = true', это позволяет нам установить, когда загружаются все необходимые ресурсы для prerender. Мы также настроили плагин s3 cache без каких-либо проблем. – Thorning
Спасибо, поэтому 'node-prerender' определит, является ли запрос ботом или нет. Что вы делаете, когда делаете 'window.prerenderReady = true'? И как бы вы передали эту переменную 'prerenderReady' на сервер, чтобы она знала, когда начать рендеринг HTML? – germainelol