私はそれを実装するつもりですが、この機能に興味があるかどうか知りたいです。
これまで、これを達成するために何が必要かを理解するためにコードを読んでいます。
まず、テンプレートタグ側では、ソースマップをオンにするために、コンプレッサーまたは別のコンプレッサーのパラメーターである{% compress js sourcemap %}
または{% compress js-sourcemaps %}
少なくとも2つのオプションがあります。
次に、ソースマップオプションがオンの場合、インラインのソースマップを生成できないため、コンプレッサーはすべてのハンクがファイルであることを確認する必要があります(完全にはわかりません)。
最後に、おそらく最も難しい部分は、ファイルのリストを処理し、圧縮されたjsとソースマップファイルを出力できるコンプレッサーバックエンドが必要です。
私が順調に進んでいるのか、それともすべてが間違っているのかを知るために、これについてフィードバックをもらいたいです。
これは、既存のツールチェーンで可能になる場合があります。 SASSを介してCSSの基本的なsourceMapURLサポートを取得することができました。
例: https :
これは非常に予備的なものです。 コメントには、いくつかの既知の制限が記載されています。
興味がある。 ステージングコードのデバッグを簡単に高速化できます。
この機能の進歩はありますか?
はい、私は現在この機能に取り組んでいます。
@sicarrotsコンプレッサーが元のタグを通過するだけなので、 settings.DEBUG
ときにソースマップを使用していますが、連結と再配置の後でそれらを機能させるのはかなり難しいようです。 どのようにアプローチしていますか?
Compressorとuglify.jsの実験に成功しています。 今の私は、サブクラス化しましたJsCompressor
して上書きoutput
全フィルター/連結/フィルター・チェーンを回避するには、唯一(連結、圧縮、ソースマップを生成する)すべての活動のためにUglifyを使用しています。
ソースマップは歩哨によっても使用されますhttps://www.getsentry.com/docs/sourcemaps/
@fetzigまさにそれを行うことの背後にある私の理論的根拠
@Kosインスピレーションを得るためにコードを貼り付けて
これは私が最終的に使用したものです: https :
次のステップは、通常のJsCompressor
{% compress js %}
を使用できるようにし(フィルター/連結/フィルターチェーンが役立つ場合があるため)、 {% compress uglify %}
ようなものを設定して私のカスタムクラスですが、構成によってそれを行う方法がわかりません。
編集::ビール::-)
:ビール:@Kos!
その機能の+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/