2016-06-14 7 views
0

私はノードモジュールとそれに伴うサンプルアプリケーションを開発しています。私は、モジュール内のソースファイルの1つにデバッグブレークポイントを追加しようとしていますが、VSCに認識させることができません。 TypescriptとVSCの最新バージョンを使用しています。typescriptソース内のブレークポイントが動作しない

編集:これはノードアプリケーションであり、気にするブラウザはありません。

EDIT2:ここはここで問題repo with problem. とレポである私の現在の設定

├── dist 
│   ├── index.d.ts 
│   ├── index.js 
│   ├── index.js.map 
│   ├── main.d.ts 
│   ├── main.js 
│   ├── main.js.map 
├── examples 
│   ├── index.js 
│   └── package.json 
├── gulpfile.js 
├── package.json 
├── src 
│   ├── index.ts 
│   ├── main.ts 
├── tsconfig.json 
├── tslint.json 

である私はexamples/index.jsに例を開発していると私はsrc/main.ts

この中にブレークポイントを設定しています私のVSCの起動です.jsonの設定

{ 
    "version": "0.2.0", 
    "configurations": [ 
    { 
     "name": "Launch TypeScript", 
     "type": "node", 
     "request": "launch", 
     "program": "${workspaceRoot}/examples/index.js", 
     "sourceMaps": true, 
     "outDir": "${workspaceRoot}/src", 
     "args": [ 
     "--nolazy" 
     ] 
    } 
    ] 
} 

私tsconfig.json

{ 
    "compilerOptions": { 
     "target": "es2015", 
     "module": "commonjs", 
     "sourceMap": true, 
     "outDir": "dist", 
     "declaration": true, 
     "rootDir": "src" 
    }, 
    "exclude": [ 
     "node_modules", 
     "examples", 
     "dist" 
    ] 
} 

私の一気タスク

gulp.task('default', function() { 
    var tsResult = tsProject.src('tsconfig.json') 
    .pipe(sourcemaps.init()) 
    .pipe(ts(tsProject)); 

    return merge([ 
     tsResult.dts.pipe(gulp.dest('dist')), 
     tsResult.js 
     .pipe(sourcemaps.write('.', {includeContent: false, sourceRoot: 'src'})) 
     .pipe(gulp.dest('dist')) 
    ]); 
}); 

sourcemapsあなたはおそらく "OUTDIR" に「$ {workspaceRoot}を変更する必要が

{"version":3,"sources":["main.ts"],"names":[],"mappings":";CAAC,...CAAC","file":"main.js","sourceRoot":"src"} 
+0

Typescriptファイルは決して実行されず、Javascriptに変換されて実行されます。あなたはVSのJavascriptファイルにコードブレークを入れることができるかどうかはわかりませんが、開発者ツールで行うことができます。 –

+0

また、これらはノードアプリケーションであることを明確にする必要があります – wasdwasdwasd

+0

ああ、私は手がかりがありません、申し訳ありません。 –

答えて

1

Visual Studioコードでは、 "program"を使用して、対応する "outDir"のファイル名 "index.js"を参照しています。あなたの場合、それは "dist/index.js"を探しています。

代替エントリファイルがあると、混乱の原因となります。名前の衝突を避けるために、 "examples/index.js"は "dist"に存在しない一意のファイル名(exampleApp.js?)である必要があります。

0

入れに来ていますか/ dist "とする。ノードデバッガーは、そのフラグを使用して、生成されたスクリプトを検索します。

関連する問題