8

私はwebstorm 2016.2、angular-cli、webpack2を使用しています。 写真では、19,20,22,23行目に折れ点を作成できません。 私が21行目に作成すると、コンソールは19行目で彼に言ったことを出力しません。Chromeのデバッガがtypescriptファイルで動作しません

私はデバッグする必要があるtsファイルを見ていますが、私は他のファイルやjsファイルをデバッグしているようですへのアクセス権がありません。

可能であればtsファイルをデバッグしたい場合はjsファイルを、そうでない場合はjsファイルをデバッグします。

enter image description here

角度-cli.json:

{ 
    "project": { 
    "version": "1.0.0-beta.11-webpack.2", 
    "name": "store-app-02" 
    }, 
    "apps": [ 
    { 
     "main": "src/main.ts", 
     "tsconfig": "src/tsconfig.json", 
     "mobile": false 
    } 
    ], 
    "addons": [], 
    "packages": [], 
    "e2e": { 
    "protractor": { 
     "config": "config/protractor.conf.js" 
    } 
    }, 
    "test": { 
    "karma": { 
     "config": "config/karma.conf.js" 
    } 
    }, 
    "defaults": { 
    "prefix": "app", 
    "sourceDir": "src", 
    "styleExt": "css", 
    "prefixInterfaces": false, 
    "lazyRoutePrefix": "+", 
    "styles": [ 
     "../node_modules/bootstrap/dist/css/bootstrap.min.css" 
    ] 
    } 
} 

tsconfig.json:あなたのtsコードは、最終的にそれをコンパイル時にjsに変換され

{ 
    "compilerOptions": { 
    "declaration": false, 
    "emitDecoratorMetadata": true, 
    "experimentalDecorators": true, 
    "mapRoot": "./", 
    "module": "es6", 
    "moduleResolution": "node", 
    "outDir": "../dist/out-tsc", 
    "sourceMap": true, 
    "target": "es5", 
    "typeRoots": [ 
     "../node_modules/@types" 
    ], 
    "types": [ 
     "core-js" 
    ] 
    } 
} 

答えて

0

javascriptファイルwhですichはWebブラウザに読み込まれます。あなたのブラウザはtypescriptについて知りません。

ts --->js(es5)。

デバッガを実行すると、コンパイルされたjsファイルがそれぞれ実行されます。何らかのエラーがある場合はjsファイルを指しており、内部で.d.tsの助けを借りてtsファイル行番号(エラーが発生した場合)にマップされています。

デバッグする場合は、karmaテストランナーを使用するか、デバッグオプションを排他的に提供するvisual studio codeを使用します。

+0

クイックアンサーに感謝しますが、バグ。 –

+1

クロムはそれを理解していないのでタイプスクリプトをデバッグしません。それぞれのjsファイルを指します。あなたはデバッグのための 'visual studio code'エディタを試すことができます – candidJ

1

TypeScriptファイルでツールを使用できるようにするには、通常、TypeScriptをコンパイルすると同時にマップファイルを生成する必要があります。

マップファイルには、元の.tsファイルとコンパイル済み.jsファイルをリンクする方法に関する情報が含まれています。デバッガのようなツールは、多くの場合、.tsファイルを処理できるようにこれらのファイルを必要とします。

誰かが説明したhereです。

the TypeScript compilerこれらのマッピングに追加のファイルを生成したくない場合は、--inlineSourceMapを使用して、これらの情報をコンパイル済みファイルの最後に直接追加できます。

ここで、Chromeは地図ファイルを見つけられないと思います。

+0

素早い答えをありがとうが、あなたの答えに直面しているバグ(? –

+0

ああ、申し訳ありませんが、私は地図ファイルが生成されていないか、Chromeがファイルを見つけられなかったと考えています。あなたの設定ファイルに '' sourceMap ":true'があり、' .map'に対応するファイルが見つかりますか?あなたの '.js'と' .ts'ファイルは同じディレクトリにありますか? –

+0

私はangle-cliを使っているので、dist \ main.bundle.js内のすべてのtsファイルに対応するjsファイルを生成します。そのフォルダからの読み込みとデバッグは悪夢です。 –

-1

Chromeは完全にデバッグし、ブレークポイントを突き上げてログメッセージを印刷します。私は、問題はあなたのtsconfig.jsonにあると思う。他の答えが述べたように、は、コンパイル時にjsファイルを生成する必要があります。。コンパイラにこれを知らせるには、次のものを追加する必要があります。

"compileOnSave": true 

これは、保存した直後にタイプコピーをコンパイルし始めます。

まだ動作しない場合は、ブラウザのキャッシュをクリアしてブラウザを再起動してください。これは確かに魔法を行うでしょう。

私はそれが役に立ちそうです。 (私のChromeバージョン:52.0.2743.116 m(64ビット) - >しかし、それは問題ではありません)

+0

答えをありがとうが、何も働かない。私が提供できる他の詳細はありますか? –

+0

私はあなたのdevツールのソースapp/servicesフォルダ内のjsファイルを見ることができません。コンパイルが成功した場合は、jsファイルを作成して表示する必要があります。コンパイルによってjsファイルが作成されることを確認してください。 –

+0

@StavAlfiこれを解決しましたか?私はブレークポイントをヒットすることができますが、ウォッチャーや私の値を読み取ろうとすると私のコンソールのエラーにアクセスする必要はありません。 – Winnemucca

関連する問題