Исходные карты с ворчанием
Знаете ли вы о рабочем процессе, включающем исходные карты для приложения, скомпилированного с помощью grunt?
Я хорошо осведомлен о плагинах, таких как uglifyjs
которые позволяют вам просто генерировать исходную карту. Но я хочу включить это в более сложный рабочий процесс, а не просто сделать одноразовую исходную карту.
Я заметил, что в самых популярных генераторах Yeoman (из известных мне) отсутствуют исходные карты в их рабочих процессах. Это только из-за отсутствия поддержки в основных плагинах для исходных карт? Или вместо этого исходные карты не нужны в рабочих процессах, и я просто не могу придумать достаточно умную альтернативу?
Известные источники проблем с популярными плагинами, с которыми я сталкивался, включают:
uglify
неспособность справиться даже с самыми базовыми структурами проекта без хакерского исправления.
usemin
Кроме того, он не может обрабатывать исходные карты за пределами простейших конфигураций, поскольку он действительно может поддерживать только одну карту для каждого проекта (но все еще требует взлома для его исправления). Возможное решение, очевидно, прекратить использование usemin
в целом, но затем вы теряете все преимущества, такие как сопряжение с rev
, watch
, а также connect
,
Я думаю, что мой лучший способ действий - это тестирование с неконкатенированными / не минимизированными источниками, когда я тестирую свое приложение. Это, конечно, не идеально, так как я хотел бы, чтобы моя тестовая среда максимально отражала рабочую среду.
Вы используете исходные карты в своем проекте? Как ты делаешь это? Если нет, то как обойтись без поддержки их?
1 ответ
Обновления 17.02.14
Z Годдард и я работаем над исправлением исходных карт в пакете grunt-contrib. Запланированные варианты для всего пакета можно прочитать в этом репо. Мы также работаем над новой библиотекой, sourcemap-util
, что обеспечит вспомогательные функции для генерации исходных карт с любой библиотекой. Я обновлю это, когда будет больше прогресса.
Я провел достаточно исследований, чтобы теперь иметь возможность ответить на свой вопрос.
Нет, на самом деле нет хорошего способа обработки исходных карт прямо сейчас.
И то и другое usemin
а также grunt-contrib-uglify
нужны обновления, чтобы это работало так, как мне хотелось бы. Я отправил запрос на получение grunt-contrib-uglify
это хорошее начало для лучшей поддержки исходной карты. Если повезет, это притяжение будет объединено.
Что касается usemin
Я не согласен с его подходом к обработке зависимостей. Я начал отдельный проект, grunt-resourceful
, что идет о вещах по-другому. Этот проект все еще находится в зачаточном состоянии, поэтому я не предлагаю использовать его сейчас. Я обновлю это один раз 1.0.0
выпущен.