私はAngularアプリケーションにprerender
を使用しており、実際にプロダクション、具体的にはHerokuを実装する方法についてはいくつか問題があります。Node.jsをプロダクションにPrerender.ioをデプロイする
だから私はlocalhost
に、私はlocalhost:9000
に私のアプリを実行することができ、その後、別の端末でlocalhost:9001
発言にprerender
のインスタンスを実行してドキュメントから理解しています。私が言うことができるprerender-nodeミドルウェアを使用してその後、次の:私は理解していない何
app.use(require('prerender-node').set('prerenderServiceUrl', 'http://localhost:9001'));
は、私が代わりにlocalhost:9000
にprerender
サービスを実行できる方法ですか?私はちょうどprerender
を実行するために完全に新しいサーバをセットアップしたくありません。別のサーバーで私が最も心配しているのは、それを本番環境でどのように呼び出すかです。 URLをmy-prerender-server.com
のように設定する必要がありますか?そのドメインを購入する必要がありますか?これは愚かなように見えるかもしれませんが、どうすれば素敵でシンプルに保つことができますか?可能であれば、1つのアプリからすべてを実行したいと思います...
アイデアやヒントはありますか?
セルフホストソリューションを使用しているときにセットアップを少し拡張できますか?ローカルでテストするとき、私は文字通りデモ 'prerender'アプリをダウンロードし、' localhost:9000'を聞くためにサービスをバインドするためにオンラインで見たランダムなコマンドを使用しました。 'node-prerender'ライブラリは、あなたのURLを設定するための1行のコードを含む単純なケースのように見えますが、あなたのソリューションを開発する際に特別なことはありますか? – germainelol
'node-prerender'はシンプルな1ライナーです。サーバーはデモとほとんど同じで、構成も簡単です。 'process.env.PORT'などを設定することでポートを変更することができます。私たちの角型アプリケーションでは' window.prerenderReady = true'を使用して、プリレンダーに必要なすべてのリソースがロードされたときに設定できます。また、s3キャッシュプラグインを問題なくセットアップしました。 – Thorning
ありがとうございますので、 'node-prerender'はリクエストがボットから来たものかどうかを判断します。 'window.prerenderReady = true'を実行する際に、どのようなことを確認しますか?そして、この 'prerenderReady'変数をサーバに渡して、HTMLのレンダリングをいつ開始するのかを知ることができますか? – germainelol