少し遅れますが、うまくいけば役立ちます。
Firefoxの場合、デバッガの設定で[元のソースを表示]がオンになっていることを確認してください。
次に、あなたのコンパイルしたJavaScriptがあなたの.MAPファイルへの絶対パス参照を持っている必要があり、パス参照は、あなたのjsコンパイルされたファイルの末尾に表示されますと、次のようになります。
//#sourceMappingURL = http://localhost:9000/dist/customElements/listview.js.map
あなたがsourceMappingURLを持っていますが、相対パスとして指定している可能性があります。 FFはソースマップの相対パスが気に入らないようです。
もちろん、これはコンパイル済みのjsであるので毎回あなたがsourceMappingURLをリセットする必要がありますJSするTSをcomplile。これは非常に素早く面倒になります。
Gulp(またはおそらく他のタスクランナー)を使用している場合は、gulp.task内のマッピングスクリプトにtypescriptをコンパイルするためのプレフィックスオプション(sourceMappingURLPrefix)を設定できます。
私のコンパイルの.jsは、サブフォルダとの\ distの中に存在する(https://github.com/floridoo/gulp-sourcemapsを参照してください)。残念ながら、接頭辞オプションはサブフォルダには役立ちません。幸い、GulpはsourceMappingURLPrefixの関数を指定することでこれを処理することもできます。
コンパイルされたjsへのパスを持つオブジェクトが関数に渡されるため、少しの文字列操作で.mapファイルへのパスも作成できます(同じフォルダに一緒にあります)。
マイ一気ビルドタスクは、この(sourceMappingURLPrefixを参照)のようになります。
gulp.task('build-system', function() {
if(!typescriptCompiler) {
typescriptCompiler = typescript.createProject('tsconfig.json', {
"typescript": require('typescript')
});
}
return gulp.src(paths.dtsSrc.concat(paths.source))
.pipe(plumber({errorHandler: notify.onError('Error: <%= error.message %>')}))
.pipe(changed(paths.output, {extension: '.ts'}))
.pipe(sourcemaps.init({loadMaps: true}))
.pipe(typescript(typescriptCompiler))
.pipe(sourcemaps.write('.', {
includeContent: false,
sourceRoot: '/src',
sourceMappingURLPrefix: function (file) {
var mapPath = file.path.split(/[\\\/]/); //split path into component parts
return 'http://localhost:9000/dist/' + mapPath.slice(1, mapPath.length - 1).join('/') //prepend my local webserver and dist folder then re-join discarding the last slice which is the compiled .js file name.
}
}))
.pipe(gulp.dest(paths.output));
});
これは今も正常にこのようなサブフォルダを参照して、私のコンパイルのjsにsourceMappingURLの絶対パスを生成します:/#sourceMappingURL = http://localhost:9000/dist/customElements/listview.js.map
Firefoxは.tsファイルとデバッガの機能を期待どおりに読み込んでいます。 これはChromeでも動作しています。
私は見つけることに熱心だ、より良い方法があるので、もし私はガルプの専門家です。
アップデート:私は最近、これまでのところ、私はがぶ飲み+のJSPMよりもはるかに簡単見つけるのですオーレリア-CLIを使用してに切り替えています。どちらもFirefox &クロムは設定が不要な.tsファイルを正しくピックアップします。
原則として、Firefoxは.mapファイルへの相対パスを処理しますが、SystemJSとの関連で問題があります。私はこの問題を完全に把握していませんが、 https://github.com/systemjs/systemjs/issues/820,https://bugzilla.mozilla.org/show_bugのリンクを見てみたいです。 cgi?id = 1224078、https://bugzilla.mozilla.org/show_bug.cgi?id=1223439 –
回避策として、「mapRoot」に「http:// localhost:3000/app/"をtsconfig.jsonに追加します。 –