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

Исходные карты в Ruby on Rails через звездочки

Я хотел бы добавить поддержку исходной карты на приложение rails 3.2, над которым я работаю. Насколько я знаю, генерация исходных карт не поддерживается Sprockets и с ее страницы github выглядит так, как будто функция запланирована на 4.0. Я работаю со Sprockets 2.2, и я думаю, что исправление обезьян - единственный способ пойти. Обработка модуля в основном модуле Sprockets дает доступ к функции js_compressor, которая может быть исправлена ​​для создания исходной карты для одного файла. Но я не знаю, как добавить это, когда файлы JS объединяются. Я использую Uglifier 2.4 в качестве компрессора.

В проекте есть смесь файлов CoffeeScript, JS и EJS. Итак, я думаю, что это то, как скобы собирают их вместе. Во-первых, он преобразует Coffeescript и EJS в JS, а затем использует js_compressor для сжатия отдельных файлов, а затем объединяет их в группы. Теперь, поскольку исходная карта для нескольких файлов, объединенных в один и тот же файл, представляет собой один файл. Итак, мне нужно будет немного изменить процесс компиляции и сделать js_compressor над файлами после завершения конкатенации. Так может ли кто-нибудь помочь в этом? Даже объяснение процесса компиляции звездочек, используемых модулей и задействованных функций будет очень полезной. В настоящее время я не хочу создавать файлы исходных карт для кода CoffeeScript. Даже отображение в их конвертированные файлы JS будет делать.

Кроме того, хотелось бы добавить, если есть какой-то камень, который может помочь с этим, это было бы очень желанным.

4b9b3361

Ответ 1

Rails 4 также не имеет исходных карт.

Насколько я знаю, и на сегодняшний день это будет только частью рельсов 5.

Действительно хороший подход для решения этой проблемы сейчас реализован в дискурсе @SamSaffron и объясняется здесь: https://github.com/discourse/discourse/blob/master/lib/tasks/assets.rake

Суть, добавить задачу "до" в процесс предварительной сборки звездочек и взломать процесс компиляции для генерации исходных файлов и директив.

Хорошая вещь в этом подходе заключается в том, что вы не теряете материал из файлов, которые являются js и erb (*.js.erb), что является чем-то довольно распространенным в rails.

Я думаю, что исправление всего цепочки цепочек - это немного злоупотребление и риск.