ローカル オーバーライドを使用すると、バックエンド、サードパーティ、API のサポートを待たずに、プロトタイピングと変更と修正のテストを行うことでワークフローのブロックを解除できます。
ローカル オーバーライドを使用して、リモート リソースにアクセスできない場合でもリモート リソースをモックする。リクエストやさまざまなファイルに対するレスポンスをモックできます。たとえば、HTTP レスポンス ヘッダー、ウェブ コンテンツ(XHR リクエスト、フェッチ リクエストなど)です。
たとえば、ローカル オーバーライドは次のようなユースケースに役立ちます。
- API の修正を本番環境に移行する前にモック API とテスト。
- バックエンドが使用するデータ構造がわかっている場合は、新しい UI デザインのプロトタイプを作成します。
- パフォーマンスの修正(CLS の排除など)をテストして、その修正が重要であることを事前に確認します。
ローカルでのオーバーライドを使用すると、DevTools で行った変更をページの読み込み後も保持できます。
仕組み
- DevTools で変更を加えると、変更されたファイルのコピーが指定したフォルダに保存されます。
- ページを再読み込みすると、DevTools はネットワーク リソースではなく、ローカルの変更済みファイルを提供します。
変更をソースファイルに直接保存することもできます。ワークスペースでファイルを編集、保存するをご覧ください。
制限事項
ローカルのオーバーライドは、ネットワーク レスポンス ヘッダーと、XHR リクエストやフェッチ リクエストを含むほとんどのファイル形式で機能しますが、いくつかの例外があります。
- [ローカル オーバーライド] を有効にすると、キャッシュは無効になります。
- DevTools では、[要素] パネルの DOM ツリーに加えた変更は保存されません。
- [スタイル] ペインで CSS を編集する際に、その CSS のソースが HTML ファイルである場合、DevTools はその変更を保存しません。
代わりに、[ソース] パネルで HTML ファイルを編集できます。
ローカル オーバーライドを設定する
ウェブ コンテンツ ヘッダーまたはレスポンス ヘッダーは、[Network] パネルで直ちにオーバーライドできます。
- DevTools を開く、[Network] パネルに移動し、オーバーライドするリクエストを右クリックして、プルダウン メニューから [Override headers] または [Override content] を選択します。
- ローカル オーバーライドをまだ設定していない場合は、上部のアクションバーに次のプロンプトが表示されます。
<ph type="x-smartling-placeholder">
- </ph>
- オーバーライド ファイルを保存するフォルダを選択します。
- [Allow] をクリックして、DevTools にそのファイルへのアクセス権を与えます。
- ローカル オーバーライドを設定して無効にした場合、DevTools によって自動的に有効になります。
ローカル オーバーライドを設定して有効にすると、オーバーライドする内容に応じて、DevTools で次の画面が表示されます。
- [ソース] パネル。ウェブ コンテンツを変更できます。
- [ネットワーク] > [ヘッダー] > [レスポンス ヘッダー] にあるエディタで、レスポンス ヘッダーを変更できます。
ローカル オーバーライドを一時的に無効にするか、すべてのオーバーライド ファイルを削除するには、[ソース] >[オーバーライド] を選択して
[ローカル オーバーライドを有効にする] チェックボックスをオフにするか、 [クリア] をクリックします。フォルダ内の 1 つのオーバーライド ファイルまたはすべてのオーバーライドを削除するには、[Sources] でファイルまたはフォルダを右クリックします。[オーバーライド] で [削除] を選択し、ダイアログで [OK] をクリックします。この操作は元に戻せません。削除したオーバーライドを手動で再作成する必要があります。
すべてのオーバーライドをすばやく表示するには、[ネットワーク] パネルでリクエストを右クリックし、[すべてのオーバーライドを表示] を選択します。DevTools で [ソース] > [オーバーライド] に移動します。
ウェブ コンテンツをオーバーライドする
ウェブ コンテンツをオーバーライドするには:
- ローカル オーバーライドを設定する。
- ファイルに変更を加えて DevTools に保存します。
たとえば、[ソース] のファイルや、[要素] > [スタイル] の CSS を編集できます(CSS が HTML ファイルに存在する場合を除く)。
DevTools で変更されたファイルが保存され、[Sources] にリストされます。オーバーライド。関連するパネルとペインで、オーバーライドされたファイルの横に アイコンが表示されます。[要素] >スタイル、ネットワーク、ソース >オーバーライド。
また、[ネットワーク] パネルでは紫色のドットと、オーバーライドされたウェブ コンテンツを含むリクエストの [レスポンス] タブの横にツールチップが表示されます。
XHR をオーバーライドするかフェッチ リクエストをリモート リソースをモックする
ローカル オーバーライドを使用すると、バックエンドにアクセスする必要はなく、変更をサポートするのを待つ必要もありません。オンザフライでモックとテストを実施する:
- ローカル オーバーライドを設定する。
- [ネットワーク] で、[XHR/fetch] リクエストをフィルタし、必要なリクエストを見つけて右クリックし、[コンテンツをオーバーライド] を選択します。
- 取得したデータを変更してファイルを保存します。
- ページを更新して、変更が適用されたことを確認します。
このワークフローの詳細については、次の動画をご覧ください。
ローカルの変更を追跡する
ウェブ コンテンツに加えたすべての変更は、[変更] ドロワータブで 1 か所で確認できます。
また、[ソース] >オーバーライド: 保存したファイルを右クリックし、コンテキスト メニューから [フォルダを開く] を選択します。オーバーライドの設定時に選択したフォルダが開きます。任意のコードエディタでファイルを変更できます。
HTTP レスポンス ヘッダーをオーバーライドする
[ネットワーク] パネルでは、ウェブサーバーにアクセスしなくても HTTP レスポンス ヘッダーをオーバーライドできます。
レスポンス ヘッダーのオーバーライドを使用すると、次のようなさまざまなヘッダーの修正をローカルでプロトタイプ化できます。
レスポンス ヘッダーをオーバーライドするには:
- ローカル オーバーライドを設定し、このデモページなどを確認します。
- [Network] に移動し、リクエストを見つけて右クリックし、[Override headers] を選択します。DevTools の [Headers] > [Response Headers] エディタに移動します。
レスポンス ヘッダー値にカーソルを合わせ、カーソルを置きます。
または、[レスポンス ヘッダー] エディタを有効にするには、レスポンス ヘッダーの値にカーソルを合わせて [
] 編集をクリックします。ヘッダーを変更または追加します。
- ヘッダー値を編集するには、その値をクリックします。
- 新しいヘッダーを追加するには、 [ヘッダーを追加] をクリックします。
- ヘッダーのオーバーライドを削除するには、その横にある をクリックします。これにより、追加したヘッダーが削除されるか、変更した値が元の値に戻ります。
[ネットワーク] パネルでは、変更されたヘッダーは緑色で、削除されたオーバーライドは赤色で取り消し線付きでハイライト表示されます。また、[Headers] タブには紫色のドットのアイコンが表示され、ヘッダーがオーバーライドされていることを知らせるツールチップが表示されます。
ページを更新して変更を適用します。
すべてのレスポンス ヘッダーのオーバーライドを編集
すべてのヘッダー オーバーライドを 1 か所で編集するには:
[レスポンス ヘッダー] セクションの横にある .headers をクリックします。
DevTools で、[Sources] > [Overrides] に移動して、対応する
.headers
ファイルに移動します。.headers
ファイルを編集します。新しいオーバーライド ルールを追加するには、[オーバーライド ルールを追加] をクリックします。このルールは、ヘッダーと値のセットと、それらを適用する単一または複数のリクエストです。
ルールにヘッダーと値のペアを追加するには、別のペアにカーソルを合わせて
をクリックします。ヘッダー値を元に戻すには、追加されたヘッダーまたはルールを削除して、削除するヘッダーまたはルールにカーソルを合わせて、
をクリックします。
Command / Ctrl+S キーを押して、
.headers
ファイルを保存します。ページを更新して変更を適用します。