サインインハンドオフに全メッセージカタログの送信を停止

Performancekamo-internal
出荷済み
2026年8月26日 1:26 UTC
プロフィール
kamo
コンテンツ
c8d0f21

クライアント側のパフォーマンス監査のバッチ3。 ルートレイアウトは、すべてのルートでNextIntlClientProviderにすべてのメッセージを渡しました。 ザ・オブ・ザ・ カタログは1.05 MBのコンパクトです。RSCがエスケープされた文字列としてインラインにすると1.16 MB リテラル、328 KB gzip / 250 KB brotli - デスクトップCPUとJSON.parseの16 ms PageSpeedの6xスロットルで約95ms、使用前に。 /validate と /logout には 2 つの文字列が必要です。 AuthedChrome は子供を bare に返します どちらも、上記のシェルコンポーネントのどれも何でも翻訳し、それだけではありません。 画面上の翻訳テキストは app/loading.tsx の 2 つ `loading.*` キー — によって検証 これらのパスにレンダリングするすべてのファイルをスキャンします。 あらゆるサインを通過 /validate なので、ハンドオフは 2 つの文字列の 1.16 MB のドキュメントを運びました。 サーバコンポーネントは、クライアントが送信したものを、ヘッダ() は、独自のパスを見ることができません。 クライアントはパス名を送らないのでプロキシ。 ts が x-kamo-pathname を 2 つに押下 ドキュメントを扱うサイトを返し、レイアウトはヘッダ() から読み込みます。 既に作りました。 フォールバック方向は重要な部分です。 ヘッダがレイアウトを放棄する場合 完全なカタログを送って下さい、決して空の切れません。 欠落した名前空間は投げず、 警告しない:IntlErrorHandler が MISSING MESSAGE と getMessageFallback を抑制する キーを返すので、メンバーは単に `loading.preparingWorkspace` を参照してください。 プロスは所属しています。 デフォルトは、マッチした変更や新しい展開を意味します。 1ページのキーを点在させる代わりに、今日の行動を正確に劣化させる すべてのサインインが通過します。 同じ理由でテストを追加します。 文字 `t('ns....')` のプレセッションページをスキャンします。 namespaces は、スライスの外側に落ちると失敗するので、翻訳された文字列を追加する サインインハンドオフは、メンバーが見たのではなく、テスト時にキャッチされます。 確認済み non-vacuous: スキャナは `loading` の名前空間を見つけ、注入します load.tsx に外部の名前空間が失敗します。 これは意図的に狭いバージョンです。 すべての143ルートを横断してスライシングする 数回以上価値がありますが、あらゆる用途でASTウォークが必要ですトランスレーションコール サイトと非リテラル名前空間引数に対するビルドガード — 同じサイレント 故障モード、製品全体に広がる 一緒に上陸する何か その他。 検証済み: tsc --noEmit は、この変更ですべてのファイルをクリーンアップします。全 8 個のガードスクリプトがパスします。 負の制御下で正しくテストパスと失敗します.

すべての変更

配送を見るのが好きですか?

これらのアップデートは、自動的にワークスペースに埋め込まれます。 週1回無料スタートし、週1回生育する.

永遠に無料で始める料金を見る