最近、プロジェクトで Django Compressor を使用して、js と css を自動的に連結および縮小し、変更時にキャッシュを更新することにしました。
私が抱えている問題は、圧縮されていないときに機能するスクリプトがいくつかあることですが、コンプレッサーを実行すると壊れてしまいます。可能性を文字列連結に絞り込むことができました。特に HTML 文字列の連結。
例えば:
boldTerm = '<b>' + terms[i] + '</b>';
term = new RegExp(term, 'g');
data = data.replace(term, boldTerm);
圧縮すると壊れます。構文エラーが発生します。
構文エラー: ありません。ステートメントの前に
しかし、これは機能します:
boldTerm = 'TEST';
term = new RegExp(term, 'g');
data = data.replace(term, boldTerm);
誰かが説明できますか:
- なぜそれが壊れるのですか?
- 圧縮されたときに機能するように、これをどのように記述すればよいですか?
ありがとう
編集:エラーがスローされている圧縮コードの一部を次に示します。
(jQuery);';term=new RegExp(term,'g');data=data.replace(term,boldTerm);}}
RegExp(term, g) の「g」でスローされています
これが機能することを発見しました:
boldTerm = '<' + 'b' + '>' + terms[i] + '<' + '/b' + '>';
term = new RegExp(term, 'g');
data = data.replace(term, boldTerm);
それで、それを機能させるという私の問題の一部が解決されます。しかし、「なぜ」という疑問はまだ残っています。
プレイ中のもの:
- jQuery
- 口ひげ
- ジャンゴコンプレッサー(JSmin)