4

口ひげ/ハンドルバーのテンプレートを使用しています。

例えば:

<script id="contact-detail-template" type="text/html">
    <div>... content to be compressed </div>
</script>

最高の圧縮のために、テンプレート内のHTMLファイルを圧縮/縮小しようとしています。

YUIcompressor、クロージャはスクリプトであると考えてスクリプトエラーが発生するため、機能しません。

HTMLCompressorは、スクリプトであると見なしても、それらには触れません。

タイプtext/htmlのスクリプトタグのコンテンツを縮小するにはどうすればよいですか?図書館は利用できますか?そうでない場合は、sedまたはegrepが望ましい方法ですか?空の行(スペースまたはタブのみ)を削除し、すべてのタブを削除し、余分なスペースをトリミングするためのsed / egrep構文はありますか?

ありがとう。

4

3 に答える 3

6

sed -e "s/^[ \t]*//g" -e "/^$/d" yourfileこれにより、最初からすべての余分なスペースとタブが削除され、すべての空行が削除されます。

sed -e "s/^[ \t]*//g" -e ":a;N;$!ba;s/\n//g" yourfileこれにより、最初から余分なスペースとタブがすべて削除され、すべてのコードが連結されます。

私が何かを逃した場合は申し訳ありません。

于 2012-09-11T20:14:09.840 に答える
3

この種のコードを縮小するには、Pretty Diffを使用してみてください。MIME タイプがない場合、またはタイプがさまざまな JavaScript タイプの 1 つである場合にのみ、script タグ内のものは JavaScript であると想定します。また、後でコンテンツの出力やコードの再帰的な美化を損なうことなく、どの空白を削除してもよいかを知るのに十分なほどインテリジェントです。

于 2012-09-12T07:44:53.277 に答える
3

を使用すると、不要な空白や改行を削除sed ':a;N;$!ba;s/>\s*</></g' fileできます。ghaschel の例とは異なり、これは保持してタグ付けするため、行頭の有用な空白を削除しません。<pre><p>

これは、html ファイルを拡大する一般的な方法である と の>間の空白を削除できるので便利です。この例は、atom フィードrss フィードなどのXML ファイルにも使用できます。<

私はこれをサイト ジェネレーターのパイプとして個人的に使用しています。これにより、通常のファイル サイズを縮小できgzip .

于 2016-03-25T16:40:29.243 に答える