μμ€ λ§΅μ Chrome κ°λ°μ λꡬλ₯Ό μ¬μ©νμ¬ μμΆ μ½λμμ 무μΈκ°λ₯Ό λλ²κΉ νλ λ° λ§€μ° μ’μ λꡬμ λλ€. django-compressorμμ μ΄λ―Έ μ§μνλ Google ν΄λ‘μ λ₯Ό ν¬ν¨νμ¬ μ΄λ₯Ό μμ±νλ λ§μ λκ΅¬κ° μμ΅λλ€.
λ€μμ λͺ κ°μ§ μ 보μ λλ€. https://github.com/ryanseddon/source-map/wiki/Source-maps%3A-languages ,-tools-and-other-info
ꡬννκ³ μΆμ§λ§ μ΄ κΈ°λ₯μ κ΄μ¬μ΄ μλμ§ μκ³ μΆμ΅λλ€.
μ§κΈκΉμ§ μ΄ μμ μ μννλ λ° νμν μμ΄λμ΄λ₯Ό μ»κΈ° μν΄ μ½λλ₯Ό μ½μμ΅λλ€.
첫째, ν
νλ¦Ώ νκ·Έ μΈ‘λ©΄μλ μμ€ λ§΅, μμΆκΈ° 맀κ°λ³μ λλ λ€λ₯Έ μμΆκΈ°λ₯Ό μΌκΈ° μν λ κ°μ§ μ΅μ
μ΄ μμ΅λλ€. {% compress js sourcemap %}
λλ {% compress js-sourcemaps %}
κ·Έλ° λ€μ μμ€ λ§΅ μ΅μ μ΄ μΌμ Έ μμΌλ©΄ μΈλΌμΈμ© μμ€ λ§΅μ μμ±ν μ μκΈ° λλ¬Έμ μμΆκΈ°λ λͺ¨λ λ©μ΄λ¦¬κ° νμΌμΈμ§ νμΈν΄μΌ ν©λλ€(μμ ν νμ€νμ§λ μμ΅λλ€).
λ§μ§λ§μΌλ‘ κ°μ₯ κΉλ€λ‘μ΄ λΆλΆμΈ νμΌ λͺ©λ‘μ μ²λ¦¬νκ³ μμΆλ js λ° μμ€ λ§΅ νμΌμ μΆλ ₯ν μ μλ μμΆκΈ° λ°±μλκ° νμν©λλ€.
λ΄κ° μ λλ‘ κ°κ³ μλμ§ μλλ©΄ λͺ¨λ κ²μ΄ μλͺ»λμλμ§ μκΈ° μν΄ μ΄μ λν νΌλλ°±μ λ°κ³ μΆμ΅λλ€.
μ΄κ²μ κΈ°μ‘΄ λꡬ 체μΈμΌλ‘ κ°λ₯ν μ μμ΅λλ€. SASSλ₯Ό ν΅ν΄ CSSμ λν κΈ°λ³Έ sourceMapURL μ§μμ μ»μ μ μμμ΅λλ€.
μ: https://gist.github.com/Nagyman/6542739
μ΄κ²μ λ§€μ° μλΉμ μ λλ€. λͺ κ°μ§ μλ €μ§ μ ν μ¬νμ΄ μ£Όμμ μΈκΈλμ΄ μμ΅λλ€.
λ΄κ° κ΄μ¬. μ€ν
μ΄μ§ μ½λλ₯Ό λΉ λ₯΄κ³ μ½κ² λλ²κΉ
ν μ μμ΅λλ€.
μ΄ κΈ°λ₯μ λν κ°μ μ¬νμ΄ μμ΅λκΉ?
μ, νμ¬ μ΄ κΈ°λ₯μ μμ μ€μ λλ€.
@sicarrots μμΆκΈ°κ° μλ νκ·Έλ₯Ό ν΅κ³ΌνκΈ° λλ¬Έμ settings.DEBUG
λ μμ€ λ§΅μ μ¬μ©νκ³ μμ§λ§ μ°κ²° λ° μ¬λ°°μΉ νμ μλνκ² νλ κ²μ΄ κ½€ κΉλ€λ‘μ 보μ
λλ€. μ΄λ»κ² μ κ·Όνκ³ μμ΅λκΉ?
Compressorμ uglify.jsλ₯Ό μ€ννλ λ° μ±κ³΅νμ΅λλ€. μ§κΈ λλ μλΈ ν΄λ μ± ν JsCompressor
λ° μ€λ²λΌμ΄λ (override) output
μ 체 νν° / CONCAT / νν° μ²΄μΈλ₯Ό ν΄κ²°νλ €λ©΄ λ§ (μμ€ λ§€ν μμ±, CONCAT, μμΆ) λͺ¨λ νλμ λν μΆνκ²λ₯Ό μ¬μ©ν©λλ€.
μμ€ λ§΅μ μΌνΈλ¦¬μμλ μ¬μ©λ©λλ€ https://www.getsentry.com/docs/sourcemaps/
@fetzig μ νν κ·Έλ κ² ν μ΄μ
@Kos μκ°μ μ£ΌκΈ° μν΄ μ½λλ₯Ό λΆμ¬λ£μΌμκ² μ΅λκΉ? κ°μ¬ν©λλ€ B)
μ΄κ²μ΄ λ΄κ° μ¬μ©ν κ²°κ³Όμ λλ€. https://gist.github.com/Kos/9270494 (νλ‘λμ μμλ μ€νλΌμΈ μμΆμ΄ μκ³ κ°λ°μμλ μμΆμ΄ μμ΅λλ€)
λ€μ λ¨κ³λ μΌλ° JsCompressor
{% compress js %}
λν΄ {% compress uglify %}
μ κ°μ κ²μ μ€μ νμ¬ λ΄ μ¬μ©μ μ μ ν΄λμ€μ΄μ§λ§ ꡬμ±μΌλ‘ μννλ λ°©λ²μ μ°Ύμ§ λͺ»νμ΅λλ€.
νΈμ§: :λ§₯μ£Ό: :-)
:λ§₯μ£Ό: @μ½μ€!
ν΄λΉ κΈ°λ₯μ +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 μ€λ₯μ μ λμ μΌλ‘ νμν©λλ€. :)
js λ° css μμ€ λ§΅μ κ²½μ° +1
js/ES6/coffee(TypeScriptλ κ°λ₯) λ° css/sass/less μμ€ λ§΅μ λ³΄κ³ μΆμ΅λλ€.
π»
Compressλ μ¬μ ν μμ€ λ§΅ κΈ°λ₯μ μ§μνμ§ μμ΅λκΉ?
μλμ, μ¬μ ν ν΄λΉ κΈ°λ₯μ μ§μνμ§ μμ΅λλ€. μ΄λ₯Ό ꡬννλ PRμ μ μΆν μ μμ΅λλ€.
μλ₯Ό λ€μ΄ λ€μκ³Ό κ°μ "ν΄ν€μ" μ루μ
μ ꡬννλ κ²μ μ¬μ ν ββκ°λ₯ν©λλ€.
https://bitbucket.org/imposeren/tabletop-planning/src/7d551806cfee2c5493b7273e40c5448aec480544/tabletop_tools/compressor_filters.py?at=master
PRμ λ§λ€κΈ° μν΄μλ λ λμ μ루μ μ΄ νμν©λλ€ ...
κ°μ₯ μ μ©ν λκΈ
μμ€ λ§΅μ μΌνΈλ¦¬μμλ μ¬μ©λ©λλ€ https://www.getsentry.com/docs/sourcemaps/