問題タブ [react-snap]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2117 参照

reactjs - react-snap は 1 つのページのみをクロールすることがあります

CRA アプリへの の展開はreact-snapほとんど簡単で、ページの読み込み速度が大幅に向上し、特別な構成は不要です。

ただし、展開 (ローカルと netlify の両方) で 1 つのページのみをクロールし、完了したように見えるという問題が時々発生します。このような:

単一のページのみをクロールする反応スナップ

通常の結果 (おそらく 50% の確率) は、最大 50 ページをクロールした後、他のすべてが正常に終了することを意味します。

同時実行数を 1 に制限しようとしましたが、改善はありませんでした。この問題を解決するために使用できる他のツール、またはこれを修正するために含めることができる構成オプションは何ですか?

0 投票する
1 に答える
2269 参照

javascript - react-snap がすべての JS スクリプト リンクを生成されたファイルに配置しないようにする

react-snap新しいブログを事前にレンダリングするためにをいじっていますが、いくつかのことを除いて、すべてが非常にうまく機能します。

なぜかヘッダーにスクリプトが含まれていたのですが、asyncスクリプトに属性を適用できたので大したことはありませんでした。しかし、そもそも私のスクリプトの大部分が含まれている理由がないことに気付きました...

ブログには動的なコンテンツはありません。すべては CSS/HTML だけです。開発を簡素化するために React のみを使用しましreact-domreact-router

この package.json を考えると:

事前に生成されたすべての投稿の一番下には、次のものがあります。

しかし!(おそらく highlight.js を除いて) それらのどれも使用されていません!

注: JS ファイルを本文の下部に配置してマークを付けるのはasync冗長/不必要であることはわかっていますが、何らかの理由で、スナップ後にこれらの JS ファイルがヘッダーに配置されることがあります (理由はわかりません)。パフォーマンスの安全性のために、react-snapそれらを非同期とマークしています。

JS ファイルの一部/すべて/一部のインクルードを停止する方法はありますか? 手動で、または 100 以上の記事の後処理を介してこれを行うことができることはわかっていますが、これは操り人形師または反応スナップの一部である必要があると感じています。

編集:ため息...いつものように、SO投稿を投稿してから5分後にこれを検索しましたが、部分的な答えに出くわしました:removeScriptTags: truepackage.jsonreact-snap

すべてのスクリプトを削除したい場合はこれで十分ですが、部分的な解決策はありますか? たとえば、このブログを PWA に変えたいとします。したがって、Service Worker を登録する必要があるかもしれません (または、1 ~ 2 個の JS ファイルが必要な別のユース ケースに出くわすかもしれません)。