Django-compressor: Поддержка исходных карт js

Созданный на 4 сент. 2013  ·  20Комментарии  ·  Источник: django-compressor/django-compressor

Карты исходного кода - очень хороший инструмент для отладки чего-либо в сжатом коде с помощью Chrome Dev Tools. Есть много инструментов, которые их генерируют, включая закрытие Google, которое уже поддерживается django-compress.

Вот некоторая информация: https://github.com/ryanseddon/source-map/wiki/Source-maps%3A-languages , -tools-and-other-info

Самый полезный комментарий

исходные карты тоже используются часовой https://www.getsentry.com/docs/sourcemaps/

Все 20 Комментарий

Я готов реализовать это, но хотел бы знать, есть ли у этой функции какой-либо интерес.

До сих пор я читал код, чтобы понять, что нужно для этого.

Во-первых, на стороне тегов шаблона есть как минимум два варианта включения исходных карт, параметр для компрессора или другой компрессор: {% compress js sourcemap %} или {% compress js-sourcemaps %}

Затем, если опция исходных карт включена, компрессор должен проверить, что все блоки являются файлами, потому что вы не можете сгенерировать исходные карты для встроенных (я думаю, не совсем уверен).

Наконец, возможно, самая сложная часть - необходим бэкэнд компрессора, который может обрабатывать список файлов и выводить сжатые js и файл исходной карты.

Я хотел бы получить отзывы по этому поводу, чтобы знать, правильно ли я поступаю или я все сделал неправильно.

Это может быть возможно с существующей цепочкой инструментов. Мне удалось получить базовую поддержку sourceMapURL для CSS через SASS.

например https://gist.github.com/Nagyman/6542739

Это очень предварительная информация; некоторые известные ограничения упоминаются в комментариях.

Я заинтересован. Это было бы легко и быстро отладить промежуточный код.
Есть ли продвижение по этой функции?

Да, я сейчас работаю над этой функцией.

@sicarrots Я использую исходные карты, когда settings.DEBUG поскольку компрессор просто проходит через исходные теги, но кажется довольно сложным заставить их работать после объединения и перемещения. Как вы к этому подходите?

Я успешно экспериментирую с Compressor и uglify.js. На данный момент я разделил JsCompressor подклассы и переопределил output чтобы обойти всю цепочку filter / concat / filter и использовать Uglify только для всех действий (concat, сжатие, создание исходных карт).

исходные карты тоже используются часовой https://www.getsentry.com/docs/sourcemaps/

@fetzig Это мое объяснение

@Kos Не

Это то, что я в итоге использовал: https://gist.github.com/Kos/9270494 (у меня офлайн-сжатие на производстве и без сжатия в разработке)

Следующим шагом будет разрешение использовать {% compress js %} для обычного JsCompressor (потому что цепочка filter / concat / filter иногда бывает полезной) и настроить что-то вроде {% compress uglify %} для использования моих пользовательский класс, но я не нашел способа сделать это с помощью конфигурации.

редактировать:: пиво: :-)

: beers: @ Кос!

+1 за эту функцию!

Для исходных карт JS я обнаружил, что:
http://roverdotcom.github.io/blog/2014/05/28/javascript-error-reporting-with-source-maps-in-django/
с соответствующим плагином django-compressor
https://github.com/roverdotcom/django-compressor-sourcemaps/

+1 Хотелось бы и эту фичу. Очень удобно иметь возможность отлаживать сжатые файлы JS в процессе производства. В противном случае сторожевые ошибки не имеют особого смысла.

+1 за функцию, абсолютно необходимую для ошибок Sentry :)

+1 для исходных карт js и css

Я бы хотел увидеть исходную карту js / ES6 / coffee (даже TypeScript) и css / sass / less
🍻

Сжатие все еще не поддерживает функцию исходных карт?

Нет, он по-прежнему не поддерживает эту функцию. Вы можете отправить PR, реализующий это.

Еще можно реализовать какое-нибудь «хакерское» решение, например:
https://bitbucket.org/imposeren/tabletop-planning/src/7d551806cfee2c5493b7273e40c5448aec480544/tabletop_tools/compressor_filters.py?at=master

Требуется лучшее решение, чтобы сделать пиар ...

Была ли эта страница полезной?
0 / 5 - 0 рейтинги