jQueryを使用するクライアント側のJSライブラリ(lib.jsと呼ぶ)があります。ライブラリはajaxを使用してAPIを起動し、受け取ったjsonレスポンスに基づいてhtmlをレンダリングします。jQueryを使用してサーバーサイドのHTMLレンダリングを実行できますか?
SEOに関する懸念から、私は、lib.jsが行うすべてのクライアント側の作業を行い、サーバ側でhtmlを作成し、このhtmlで応答する別のnodejsベースのAPIを作成したいと考えています。キャッチは、サーバー側で同じクライアントサイドライブラリ(lib.js)を使用したいので、lib.jsに対する変更がバックエンドAPIのhtml応答にも影響するようにします。
私は基本的にクライアント側のJSライブラリをあまり変更せずに、クライアント側のJSをサーバー上で実行しようとしています。
私はjqueryとjsdomのノードモジュールを調べましたが、この解決策に近づける決定的な方法は見つかりませんでした。これを行うためのより良いノードモジュールはありますか?この問題をターゲットにした良い記事はありますか?
ReactJSの使用を検討しましたか?サーバー側のレンダリングはnodejsでうまく動作し、反応します。 jQueryコードを 'componentDidMount()'ライフサイクルフック内に置いておく限り、jQueryをそのまま使用することはできます。これはnodeJSにDOMが存在しないため実行されません。 – flocks
@flocksに感謝しますが、ReactJSはオプションではありません。 – Anuj