Подтвердить что ты не робот

Как я могу получить конвейер Rails для создания исходных карт?

Я бы хотел, чтобы Rails создавал исходные карты вместе с компилируемым coffeescript/minified JS, для лучшего ведения журнала ошибок. Тем не менее, похоже, что нет полной документации по сети, как это сделать. Кто-нибудь сделал это?

Я на Rails 3.2 и Heroku.

4b9b3361

Ответ 1

Rails поддерживает исходные карты для миниатюрного javascript! Rails полагается на sprockets для компиляции активов, а поддержка исходных карт добавлена ​​к звездочкам в этот запрос на растяжение.

Отредактировано 2016-12-07, чтобы обновить основной текст ответа.

Ответ 2

Если вы действительно не хотите исходных карт, но вместо этого просто хотите номера строк в coffee- script исключать компиляцию, попробуйте это:

Раньше считалось, что только наличие кофейных рельсов в вашем Gemfile приведет к исключениям с номерами строк в исходном источнике coffeescript. Затем они исчезли с исключением из числа строк. Я сделал некоторое копание, и я обнаружил, что coffee-script-source 1.5.x дал номера строк в исключениях компиляции, а coffee-script-source 1.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)

Ответ 4

Похоже, что он должен работать: http://alexspeller.com/2012/09/15/Source_maps_for_coffeescript_in_rails.html

Хотя, помните об этом в конце:

Важное примечание: этот довольно жестокий взлом заменяет нормальный компилятор coffeescript, выгружаясь в CoffeeScriptRedux компилятор, который на самом деле не закончен. Это просто доказательство вы, вероятно, не должны его использовать.

Поэтому я бы не рекомендовал запускать это в процессе производства, но если у вас есть промежуточная среда (также на Heroku, также с миниатюрным Javascript), это может быть полезно.