10

待望の機能であるソース マッピングに気付きました。コーヒースクリプト(ブラウザ、キックスタートプロジェクトなど)のために多くの人が集まって実現したことに感銘を受けました.

少しテストを設定したので、使い方が理解できました...

コーヒースクリプト

y注意:定義されていないため、ここには意図的な間違いがあります

console.log 123

sq = (x)->
  x * x

console.log "thats how easy: "+sq y

ソースマップ

{
  "version": 3,
  "file": "test.js",
  "sourceRoot": "",
  "sources": [
    "test.coffee"
  ],
  "names": [],
  "mappings": ";AAAA;CAAA,CAAA,IAAA;CAAA;CAAA,CAAA,CAAA,IAAO;;CAAP,CAEA,CAAK,MAAC;CACJ,EAAI,QAAJ;CAHF,EAEK;;CAFL,CAKA,CAAA,IAAO,WAAK;CALZ"
}

Javascript

// Generated by CoffeeScript 1.6.1
(function() {
  var sq;

  console.log(123);

  sq = function(x) {
    return x * x;
  };

  console.log("thats how easy: " + sq(y));

}).call(this);
//@ sourceMappingURL=test.map

ジェイド

html
  head
    script(src="test.js")
  body
    h1 Test Page

コーヒースクリプトのソースが表示され、ブレークポイントを設定することもできるため、これはすべて機能しているようです (ただし、グラフィックが表示されないようで、javascript でブレークポイントが設定されている場所が少し不安定なようです)。

私が抱えている問題は、エラーが発生したときに、コンソールが javascript ファイルの行番号を報告することです。エラーの原因となっている coffee-script ソース ファイルの行を見つけるにはどうすればよいですか?

OSX 10.8.2 で Google Chrome バージョン 23.0.1271.101 を使用しています。

jsエラー cs エラーなし

4

2 に答える 2

3

私は実際にあなたの質問に非常によく似た自分の質問に答えました。ここで見ることができます。

私が使用している解決策は、変換オプションとしてcoffeeifyを使用して、browserifyですべてのcoffeescriptを連結/コンパイルすることです。browserify で debug を true に設定すると、すべての行番号が元の coffeescript ソースの正しい行にマップされるはずです。

于 2013-04-26T01:00:27.767 に答える
0

Chrome コンソールを最初に開いたときにのみ問題が発生することがわかりました。

コンソールが開いているときにブラウザを更新すると、コンソールはソース マップ ファイルへのリンクで更新されます。

また、最初にコンソールを開いてからページに移動すると、コンソールはソース マップ ファイルへのリンクで更新されます。

これは、Chrome が初めてコンソールを開く際に発生する問題です。

于 2014-12-19T19:14:10.040 に答える