Django-compressor: Dukungan untuk peta sumber js

Dibuat pada 4 Sep 2013  ·  20Komentar  ·  Sumber: django-compressor/django-compressor

Peta sumber adalah alat yang sangat bagus untuk men-debug sesuatu pada kode terkompresi menggunakan Chrome Dev Tools. Ada banyak alat yang menghasilkannya termasuk penutupan Google yang sudah didukung oleh django-compressor.

Berikut beberapa info: https://github.com/ryanseddon/source-map/wiki/Source-maps%3A-languages ,-tools-and-other-info

feature

Komentar yang paling membantu

peta sumber juga digunakan oleh penjaga https://www.getsentry.com/docs/sourcemaps/

Semua 20 komentar

Saya bersedia menerapkannya tetapi saya ingin tahu apakah ada minat tentang fitur ini.

Sejauh ini saya telah membaca kode untuk mendapatkan ide tentang apa yang diperlukan untuk mencapai ini.

Pertama, di sisi tag template, setidaknya ada dua opsi untuk mengaktifkan peta sumber, parameter untuk kompresor atau kompresor yang berbeda: {% compress js sourcemap %} atau {% compress js-sourcemaps %}

Kemudian, jika opsi peta sumber aktif, kompresor harus memeriksa bahwa semua bakhil adalah file karena Anda tidak dapat membuat peta sumber untuk inline (saya pikir, tidak sepenuhnya yakin).

Akhirnya, mungkin bagian yang paling sulit, backend kompresor yang dapat menangani daftar file dan mengeluarkan js terkompresi dan file peta sumber diperlukan.

Saya ingin mendapatkan umpan balik tentang ini untuk mengetahui apakah saya berada di jalur yang benar atau saya melakukan kesalahan.

Ini dimungkinkan dengan toolchain yang ada. Saya telah berhasil mendapatkan dukungan sourceMapURL dasar untuk CSS melalui SASS.

misalnya https://Gist.github.com/Nagyman/6542739

Ini sangat awal; beberapa batasan yang diketahui disebutkan dalam komentar.

Saya tertarik. Ini akan dengan mudah men-debug kode pementasan.
Adakah kemajuan pada fitur ini?

Ya, saya sedang mengerjakan fitur ini.

@sicarrots Saya menggunakan peta sumber ketika settings.DEBUG karena kompresor baru saja melewati tag asli, tetapi tampaknya cukup sulit untuk membuatnya berfungsi setelah penggabungan dan relokasi. Bagaimana Anda mendekatinya?

Saya berhasil bereksperimen dengan Compressor dan uglify.js. Untuk saat ini saya telah mensubklasifikasikan JsCompressor dan mengganti output untuk mengatasi seluruh rantai filter/concat/filter dan hanya menggunakan Uglify untuk semua aktivitas (concat, kompres, buat peta sumber).

peta sumber juga digunakan oleh penjaga https://www.getsentry.com/docs/sourcemaps/

@fetzig Persis alasan saya di balik melakukan itu

@Kos Maukah Anda menempelkan beberapa kode untuk tujuan inspirasi? Terima kasih B)

Inilah yang akhirnya saya gunakan: https://Gist.github.com/Kos/9270494 (Saya memiliki kompresi offline pada produksi dan tidak ada kompresi dalam pengembangan)

Langkah selanjutnya adalah mengizinkan penggunaan {% compress js %} untuk JsCompressor normal (karena rantai filter/concat/filter terkadang membantu) dan mengatur sesuatu seperti {% compress uglify %} untuk menggunakan my kelas khusus, tetapi saya belum menemukan cara untuk melakukannya dengan konfigurasi.

edit: :bir: :-)

:bir: @Kos!

+1 untuk fitur itu!

+1 Saya juga ingin fitur ini. Sangat berguna untuk dapat men-debug file terkompresi JS dalam produksi. Kesalahan penjaga tidak masuk akal jika tidak.

+1 untuk fitur, mutlak diperlukan untuk kesalahan Sentry :)

+1 untuk peta sumber js dan css

Saya ingin melihat js/ES6/coffee (bahkan TypeScript) dan peta sumber css/sass/less
🍻

Apakah Compress masih belum mendukung fitur peta sumber?

Tidak, itu masih tidak mendukung fitur itu. Anda dipersilakan untuk mengirimkan PR yang mengimplementasikan ini.

Masih mungkin untuk menerapkan beberapa solusi "peretasan", misalnya:
https://bitbucket.org/imposeren/tabletop-planning/src/7d551806cfee2c5493b7273e40c5448aec480544/tabletop_tools/compressor_filters.py?at=master

Solusi yang lebih baik diperlukan untuk membuat PR...

Apakah halaman ini membantu?
0 / 5 - 0 peringkat