Django-compressor: Unterstützung für js-Quellzuordnungen

Erstellt am 4. Sept. 2013  ·  20Kommentare  ·  Quelle: django-compressor/django-compressor

Quellzuordnungen sind ein sehr schönes Tool zum Debuggen von komprimiertem Code mit Chrome Dev Tools. Es gibt viele Tools, die sie generieren, einschließlich der Schließung von Google, die bereits von django-compressor unterstützt wird.

Hier sind einige Informationen: https://github.com/ryanseddon/source-map/wiki/Source-maps%3A-languages ,-tools-and-other-info

feature

Hilfreichster Kommentar

Quellkarten werden auch von Sentry verwendet https://www.getsentry.com/docs/sourcemaps/

Alle 20 Kommentare

Ich bin bereit, es zu implementieren, aber ich würde gerne wissen, ob dieses Feature interessiert ist.

Bisher habe ich den Code gelesen, um eine Vorstellung davon zu bekommen, was erforderlich ist, um dies zu erreichen.

Erstens gibt es auf der Seite der Vorlagen-Tags mindestens zwei Optionen zum Aktivieren von Quellzuordnungen, einen Parameter für den Kompressor oder einen anderen Kompressor: {% compress js sourcemap %} oder {% compress js-sourcemaps %}

Wenn die Option Quellzuordnungen aktiviert ist, sollte der Kompressor dann überprüfen, ob alle Hunks Dateien sind, da Sie keine Quellzuordnungen für Inline generieren können (ich denke, nicht ganz sicher).

Schließlich, der vielleicht schwierigste Teil, wird ein Kompressor-Backend benötigt, das eine Liste von Dateien verarbeiten und das komprimierte js und die Quellzuordnungsdatei ausgeben kann.

Ich würde gerne ein Feedback dazu bekommen, um zu wissen, ob ich auf dem richtigen Weg bin oder alles falsch gemacht habe.

Dies kann mit der bestehenden Toolchain möglich sein. Ich habe es geschafft, grundlegende sourceMapURL-Unterstützung für CSS über SASS zu erhalten.

zB https://gist.github.com/Nagyman/6542739

Dies ist sehr vorläufig; einige bekannte Einschränkungen werden in den Kommentaren erwähnt.

Ich bin interessiert. Es wäre einfach, Staging-Code schnell zu debuggen.
Irgendwelche Fortschritte bei dieser Funktion?

Ja, ich arbeite gerade an dieser Funktion.

@sicarots Ich verwende settings.DEBUG da der Kompressor nur die ursprünglichen Tags durchläuft, aber es scheint ziemlich schwierig zu sein, sie nach der Verkettung und Verlagerung zum Laufen zu bringen. Wie gehen Sie es an?

Ich habe einige Erfolge beim Experimentieren mit Compressor und uglify.js. Fürs Erste habe ich JsCompressor untergeordnet und output überschrieben, um die gesamte Filter/Concat/Filter-Kette zu umgehen und Uglify nur für alle Aktivitäten (Concat, Compress, Genere Source Maps) zu verwenden.

Quellkarten werden auch von Sentry verwendet https://www.getsentry.com/docs/sourcemaps/

@fetzig Genau meine Begründung dafür

@Kos Würden Sie

Dies habe ich letztendlich verwendet: https://gist.github.com/Kos/9270494 (Ich habe Offline-Komprimierung in der Produktion und keine Komprimierung in der Entwicklung)

Der nächste Schritt wäre, die Verwendung von {% compress js %} für das normale JsCompressor zuzulassen (da die Filter/Concat/Filter-Kette manchmal hilfreich ist) und etwas wie {% compress uglify %} einzurichten, um my . zu verwenden benutzerdefinierte Klasse, aber ich habe keine Möglichkeit gefunden, dies per Konfiguration zu tun.

edit: :bier: :-)

:bier: @Kos!

+1 für diese Funktion!

+1 Diese Funktion hätte ich auch gerne. Es ist sehr praktisch, JS-komprimierte Dateien in der Produktion debuggen zu können. Sentry-Fehler machen sonst wenig Sinn.

+1 für das Feature, unbedingt erforderlich für Sentry-Fehler :)

+1 für js- und css-Quellkarten

Ich möchte js/ES6/coffee (sogar TypeScript) und CSS/Sass/less Source Map sehen
🍻

Unterstützt Compress immer noch keine Quellzuordnungsfunktion?

Nein, diese Funktion wird immer noch nicht unterstützt. Gerne können Sie hierzu eine PR einreichen.

Es ist immer noch möglich, eine "hackische" Lösung zu implementieren, zum Beispiel:
https://bitbucket.org/imposeren/tabletop-planning/src/7d551806cfee2c5493b7273e40c5448aec480544/tabletop_tools/compressor_filters.py?at=master

Eine bessere Lösung ist erforderlich, um PR...

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen