私はangular2CLI(ember cli)を使用してTypeScriptプロジェクトを生成しました。 Chromium WebDeveloperツールを使用してデバッグしています。開発者ツールの設定で「JavaScriptソースマップを有効にする」を選択しました。ソースビューに.jsファイルと.tsが表示されます。ただし、.ts(TypeScript)ファイルを選択すると、空として表示されます。つまり、ファイルが見つからないようです。
状況を示すスクリーン印刷:
.jsファイルを選択すると、canのテキストが表示されます。
.tsファイルはnotdistディレクトリにコピーされており、これは私には問題のように思えますが、私は 他の場所の例)を見てきました 典型的なangular2 cli dist構造を示しており、.tsファイルもありません。
ソースマッピングが有効になっていることを示す「tsconfig.json」の関連部分:
1 "compileOnSave": false,
2 "compilerOptions": {
3 "declaration": false,
4 "emitDecoratorMetadata": true,
5 "experimentalDecorators": true,
6 "mapRoot": "",
7 "module": "system",
8 "moduleResolution": "node",
9 "noEmitOnError": true,
10 "noImplicitAny": false,
11 "outDir": "../dist/",
12 "rootDir": ".",
13 "sourceMap": true,
14 "sourceRoot": "/",
15 "target": "es5"
16 },
js.mapファイルは生成され、distディレクトリの隣にあります.jsファイル。
マッピングファイルの例(一部):
{"version":3,"file":"app.js","sourceRoot":"/","sources":["app.ts"],"names":[],"mappings":";;;;;;;;;;;;;YAGA,mB
私はもう試した:
1).tsファイルをsrcからdistにコピーします。
2)app.js.mapファイルを手動で編集するさまざまな試み(例:sourceRootおよびsources) 。
Js.mapファイルで「/」が何を指しているのかは明確ではありません。プロジェクトのsrcディレクトリまたはdistディレクトリですか。 .js.mapファイルを編集する場合、それを取得するためにブラウザーを更新する必要がありますか?
基本的な問題は、src dirでtsファイルを探すことだと思います。これは、ブラウザーの範囲外です( "../src"にあるため)。
Chromiumは、tsファイルのパスを「 http:// localhost:4202/app/cpp-scenes.ts "」と表示します。しかし、そこに.tsファイルを置くと、サイコロはありません。
これがjsマッピングの問題なのか、Angular 2の問題なのか、Angular2 CLIの問題なのか、TypeScriptの問題なのか)はわかりません。
コンソールに「blah.tsの52行目のエラー」と表示されるのは本当に苦痛ですが、そこにジャンプしてブレークポイントなどを設定することはできません。
Angular2 CLIプロジェクトでソースマッピングを機能させることができた人は他にいますか?
私はこれを機能させることができました。 angular CLI srcフォルダーをワークスペースに追加する必要があります。そうすると、.tsファイルの1つに「ネットワークリソースへのマップ」が作成されます。
注:この例では、クライアントとサーバーが同じマシンで実行されている場合を想定しています。クライアントがWindowsマシン上にあるが、サーバーがLinuxで実行されている場合など、クライアントマシンでは、 LinuxサーバーのソースディレクトリをWindows共有としてマウントする および次に、次のようなものを指定します
\\192.168.1.134\myShare\myProject\src\client
ワークスペースフォルダとして。
私は最近これをしなければなりませんでした、そしてそれはもう少し複雑ですが、それは基本的にローカルの場合と同じように機能します
プロセス全体のスクリーンショットを撮ったので、これらを表示するだけでおそらく最も簡単です。
SrcフォルダーがDevToolsソースの下に表示されていることを確認します。これで、すべてのtsファイル(追加したファイルだけでなく)を参照できますが、設定したブレークポイントは、「マッピングを確立」するまで有効になりません。
これで、.tsファイルにブレークポイントを設定し、エラーメッセージを.tsソースにドリルダウンできます。
基本的なトリックは、ソースtsファイルディレクトリをChromeに手動で追加する必要があることです。これは、ファイルがサービングディレクトリの下にないためです。マッピングは、手動で削除するまで有効です。 .tsファイルを右クリックして[ネットワークマッピングの削除]を選択するか、ブラウザを閉じるまで(ただし、更新時にマッピングは保持されます)
私は2016-06-04に投稿された回答の元の投稿者およびサプライヤーです。
私は最近、これを機能させるためのより簡単な方法を発見しました。私の元の答えはまだ機能し、一部の人々はそれを好むかもしれないので、私はこれを2番目の答えとして投稿しています。ただし、これから説明する新しい方法の方が少し簡単だと思います。
基本的に、すべてを右クリックする代わりに、DeveloperTools-> Settings-> Workspaceメニューですべてを設定できます。私の元の回答を右クリックすることは、基本的にこのワークスペースフォームに入力するもう1つの方法です。
サーバーとブラウザが同じマシンで実行されている場合のスクリーン印刷は次のとおりです。
サーバーとブラウザが異なるマシンを実行している場合のスクリーン印刷は次のとおりです。
Windowsコマンドからプロンプト(実際にはgit bash Shell):
>$ net view
Server Name Remark
-------------------------------------------------------------------------------
\\VT-VIRTUAL vt-virtual-machine server (Samba, Linux Min
The command completed successfully.
>$ Net Use l: '\\vt-virtual\vtstuff'
この方法で行うと、ブラウザのサイクル全体で情報が保持されるため、1回だけ行う必要があります。おそらく、2016年7月30日に投稿した人は、「箱から出してすぐに」機能すると言っていましたが、どういうわけか、このワークスペースフォームはすでに設定されていました。
これはChromeデベロッパーツールのセットアップの問題であり、Angular2またはAngular2 CLI。ソース(.ts)ファイルはランタイム(dist)ディレクトリで直接利用できないため、angular2CLIを使用する人はこのワークスペースマッピングを行う必要があります。
Angular CLIはWebpackを使用し、すべてのTypeScriptファイルはそのsrc
ディレクトリにあるため、デバッガーステートメントを使用せずにブレークポイントを設定できるようです。
問題が何であるかはわかりませんが、私はそれに遭遇しませんでした。それは箱から出してすぐに機能し、複雑な5ステップのプロセスは必要ありません。
。tsファイルは、/ distフォルダーにコピーされないため、コピーしないでください。コピーされるのは、ソースフォルダーへの参照を含む。mapファイルです。 Chrome開発者ツールは、すべての。tsファイルを[ソース]タブ-オレンジ色のフォルダーの下に表示します。
「ngserve」を実行し、 http:// localhost:42 を参照して、開発者ツールを開く以外に何もしませんでした。リストされている.tsファイル(オレンジ色のフォルダーにリストされている)の1つを開いたり、ブレークポイントを設定したりできます。