44

エラーログを改善するために、Rails がコンパイル済みの coffeescript/縮小された JS と一緒にソースマップを生成するようにしたいと考えています。ただし、これを行う方法に関する包括的なドキュメントはまだネット上にないようです。誰かがこれをしましたか?

Rails 3.2 と Heroku を使用しています。

4

4 に答える 4

4

ソースマップが本当に必要なく、代わりにコーヒースクリプトのコンパイル例外に行番号が必要な場合は、これを試してください:

以前は、Gemfile に coffee-rails があるだけで、元の coffeescript ソースの行番号で例外が発生していました。その後、行番号なしの例外で消えました。掘り下げてみたところ、coffee-script-source1.5.x ではコンパイルの例外に行番号が表示されていましたが、 coffee-script-source1.6.x では行番号が表示されていませんでした。これはバグだと思います。これが将来「修正」されても驚かないでしょう。

# Gemfile
gem 'coffee-rails', '~> 4.0.0'
  gem 'coffee-script-source', '~> 1.5.0' # 1.6 doesn't include line numbers in exceptions

次に、 ('coffee-script-source', '~> 1.5.0') のような例外が発生します

Showing /Users/.../app/views/layouts/application.html.erb where line #12 raised:

SyntaxError: missing } on line 15
  (in /Users/.../app/assets/javascripts/app.js.coffee)

('coffee-script-source', '~> 1.6.3') の代わりに

Showing /Users/.../app/views/layouts/application.html.erb where line #12 raised:

SyntaxError: missing }
  (in /Users/.../app/assets/javascripts/app.js.coffee)
于 2013-09-28T04:53:13.167 に答える
3

これをテストしました。できます。https://github.com/markbates/coffee-rails-source-maps . ただし、アセットのレンダリングが大幅に遅くなります。

于 2013-07-30T12:49:08.667 に答える
2

これは動作するはずです: http://alexspeller.com/2012/09/15/Source_maps_for_coffeescript_in_rails.html

ただし、最後の警告に注意してください。

重要な注意: このかなり残忍なハックは、通常の coffeescript コンパイラを、CoffeeScriptRedux コンパイラにシェルアウトすることで置き換えますが、これは実際には完了していません。これは単なる概念実証であり、おそらく使用しないでください。

したがって、これを本番環境で実行することはお勧めしませんが、ステージング環境がある場合 (Heroku でも縮小された Javascript を使用している場合) は役立つかもしれません。

于 2013-02-24T07:02:39.673 に答える