結合、圧縮、コンパイルした後も、クライアント側のコードを読み取り可能かつデバッグ可能な状態に保ちます。 できます。[Sources] パネルでコンパイル済みコードにソースコードをマッピングするには、ソースマップを使用します。
プリプロセッサを使ってみる
プリプロセッサからのソースマップを使用すると、DevTools では圧縮されたファイルに加えて、元のファイルも読み込まれます。
Chrome は圧縮されたコードを実行しますが、[ソース] パネルには作成したコードが表示されます。 ソースファイル内のコードをステップスルーしてブレークポイントを設定すると、すべてのエラー、ログ、ブレークポイントが自動的にマッピングされます。
これにより、開発サーバーによって提供され、ブラウザで実行されるコードとは異なり、作成したコードをデバッグしているように見えます。
[ソース] パネルでソースマップを使用するには:
- ソースマップを生成できるプリプロセッサのみを使用します。
- ウェブサーバーがソースマップを提供できることを確認します。
サポートされているプリプロセッサを使用する
ソースマップと組み合わせて使用される一般的なプリプロセッサには、次のようなものがあります(これらに限定されません)。
詳細なリストについては、ソースマップ: 言語、ツール、その他の情報をご覧ください。
[設定] でソースマップを有効にする
の [設定] >[設定] >ソースの場合は、 JavaScript ソースマップを確認してください。
ソースマップが正常に読み込まれたかどうかを確認する
デベロッパー向けリソース: ソースマップを手動で表示して読み込むをご覧ください。
ソースマップを使用したデバッグ
ソースマップが準備され、有効になっている場合は、次のことができます。
- [ソース] パネルでウェブサイトのソースを開きます。
作成したコードだけに注目するには、作成およびデプロイしたファイルをファイルツリーでグループ化します。次に、[ Authored] セクションを開き、元のソースファイルをエディタで開きます。
通常どおりにブレークポイントを設定します。たとえば、ログポイントです。コードを実行します。
[エディタ] の下部にあるステータスバーに、デプロイされたファイルへのリンクが表示されます。デプロイした CSS ファイルに対しても同様に行われます。
[コンソール] ドロワーを開きます。この例では、ログポイントのメッセージの横に、デプロイされたファイルではなく、元のファイルへのリンクが表示されています。
[ブレークポイントのタイプ] を [通常のタイプ] に変更して、コードを再度実行します。今回は実行を一時停止します。
[Call Stack] ペインには、デプロイされたファイルではなく、元のファイルの名前が表示されます。
エディタの下部にあるステータスバーで、デプロイ済みファイルへのリンクをクリックします。[Sources] パネルに、対応するファイルが表示されます。
デプロイされたファイルを開くと、//# sourceMappingURL
コメントとそれに関連する元のファイルが見つかると、DevTools からその旨が通知されます。
デプロイされたファイルがエディタによって自動的にプリティ プリントされます。実際には、//# sourceMappingURL
コメントを除くすべてのコードが 1 行に含まれています。
#sourceURL
さんとの eval()
通話の名前を挙げる
#sourceURL
を使用すると、デバッグを簡素化できます。
eval()
呼び出しを処理する場合。このヘルパーは //# sourceMappingURL
プロパティとよく似ています。詳細については、ソースマップ V3 の仕様をご覧ください。
//# sourceURL=/path/to/source.file
コメントは、eval()
の使用時にソースファイルを検索するようブラウザに指示します。これにより、評価やインライン スクリプトとスタイルに名前を付けることができます。
こちらのデモページでテストします。
- DevTools を開き、[ソース] パネルに移動します。
- ページの [Name your code:] 入力フィールドに任意のファイル名を入力します。
- [Compile] ボタンをクリックします。CoffeeScript ソースから評価された合計とともにアラートが表示されます。
- [Page] ペインのファイルツリーで、入力したカスタム ファイル名の新しいファイルを開きます。これには、ソースファイルの元の名前を含む
// #sourceURL
コメントがあるコンパイル済み JavaScript コードが含まれます。 - ソースファイルを開くには、エディタのステータスバーにあるリンクをクリックします。