1. ホーム
  2. javascript

[解決済み] JavaScriptのソースマップ(.mapファイル)を利用するにはどうすればよいですか?

2022-03-22 06:52:05

質問

最近、ファイルに .js.map 拡張子は、いくつかの JavaScript ライブラリに同梱されています (たとえば アンギュラー という疑問が湧いてきました。

  • 何のために?なぜAngularの人たちは .js.map ファイルを作成することができます。
  • JavaScript 開発者として)どのようにすれば angular.min.js.map ファイルを作成できますか?
  • を作成することにこだわる必要があります。 .js.map ファイルを作成することはできますか?
  • どのように作成されるのですか?を覗いてみました。 angular.min.js.map という文字列で埋め尽くされていたので、手動で作成していないものと思われます。

解決方法は?

その .map ファイルは、minifyされたJavaScriptとCSS(そして現在はTypeScriptも)ファイルです。これらは ソースマップ . ファイルをミニ化するとき、たとえば angular.js ファイルでは、何千行ものきれいなコードが、たった数行の醜いコードに変換されます。うまくいけば、コードを実運用に移すときに、完全な非最小化バージョンではなく、最小化されたコードを使うことができます。アプリが本番環境にあり、エラーが発生した場合、ソースマップは醜いファイルを取り除くのに役立ち、コードのオリジナルバージョンを見ることを可能にします。もしソースマップがなければ、どんなエラーもよくわからないものになるでしょう。

CSSファイルでも同じです。一度 Sass または 少ない ファイルをCSSにコンパイルすると、元の形とは全く違うものになります。ソースマップを有効にすると、変更後の状態ではなく、元のファイルの状態を見ることができます。

では、順番に質問に答えていきます。

  • 用途は何ですか? UGL化されたコードの参照を解除する
  • 開発者はどのように使用することができますか? 本番アプリのデバッグに使うんですね。開発モードでは、フルバージョンのAngularを使用することができます。本番環境では、ミニチュア化されたバージョンを使用することになります。
  • js.mapファイルの作成にこだわるべきですか? もし、プロダクションコードのデバッグを容易にすることに関心があるのなら、そうすべきです。
  • どのように作成されるのですか? ビルド時に作成されます。他のファイルと同じように .map ファイルをビルドしてくれるビルドツールがあります。 出力ファイルがプロジェクトのルートディレクトリにない場合、ソースマップは失敗します #71

これでご理解いただけたでしょうか?