カルマ テスト ランナーでテストするときに、デバッガーが自分の coffeescript ファイルを操作できるようにするのに苦労しています。
おそらく、Webstorm ファイル ウォッチャーにソースマップを生成するように指示するだけで、デバッガーがカルマ テスト ランナーと連携するようになります。残念ながら、デバッガーは、coffeescript コンパイラーによって出力されたマップ ファイルを認識していないようです。file.coffee -> file.js.map を探します。ただし、他の結果を取得しようとしても、マップ ファイルは常に file.coffee -> file.map です。
私のカルマ設定ファイルには次のものがあります(明らかにすべてではなく、関連する部分だけです):
module.exports = (config) ->
config.set
files: [
'../app/scripts/**/*.coffee'
'spec/*.coffee']
preprocessors: {
'../**/*.coffee': 'coffee'
}
ファイルウォッチャーであらゆる種類の構成を試しました:
引数が「--compile --bare --map $FileName$」で、更新する出力パスが「$FileNameWithoutExtension$.js.map」または「$FileNameWithoutExtension$.js:$FileNameWithoutExtension」のいずれかの単一ファイル ウォッチャー$.js.map"
最初のバージョンでは空白の file.js.map が生成され、2 番目のバージョンでは空白の file.js.map と、適切なソースマップ ファイルである標準の file.map が生成されます。
「--compile --bare」出力パス:「$FileNameWithoutExtension$.js」と「--map」出力パス:「$FileNameWithoutExtension$.js.map」だけを持つ 1 つのファイル ウォッチャーを試しました。 "。それは空の file.js.map を出力し、実際のマップは出力しません。
「--compile --bare」出力パス:「$FileNameWithoutExtension$.js」のみを持つ 1 つのファイル ウォッチャーと、「--compile --map」出力パス:「$FileNameWithoutExtension$. js.map". それは空の file.js.map を出力し、実際のマップは出力しません。
一方、デバッグ モードでテストを実行すると、Karma サーバーは次のように報告します。
WARN [web-server]: 404: /base/spec/schedule-spec.js.map?time=1380945586331
WARN [web-server]: 404: /absolute/Users/Randolph/Documents/Sites/MTF-Minimal/app/scripts/app.js.map?time=1380945586083
etc...
明らかに、サーバーはマップが file.js.map と呼ばれると想定していますが、実際には coffeescript は「js」なしで file.map を出力します。出力ソースマップ ファイルの名前を変更できないようで、デバッガーに何を探すべきかを伝える場所がわかりません。
括弧を付けて言うと、デバッガーは、angular.js や jquery.js などの私のファイルで読み込まれた非 coffeescript ライブラリのマップ ファイルが見つからないことも教えてくれます。おそらくそれは何が間違っているかの手がかりです。
JetBrains にチケットを送信しました。彼らの反応もここで共有します。お手数ですが、解決策をご存知の方がいらっしゃいましたら教えてください。
ありがとう!