2

私は最近、スクリプトの連結/縮小に usemin/uglify (Grunt を使用) を使用する新しいプロジェクトを受け入れましたが、usemin の利点を見つけることができないようです。構成としてhtmlテンプレートを使用しているだけですか?uglifyを介して行う方が良い解決策のようです。usemin を使用する利点は何ですか?

4

1 に答える 1

5

usemin は何をしますか?

useminCSSまたはJSのセットを取り、次のことを行います。

  1. HTML の usmin ブロック内にあるファイルを連結します
  2. 連結ファイルをuglifyまたはcssminする
  3. ファイルの内容に基づくハッシュを使用して、出力ファイルを改訂します
  4. css/scripts のブロックを usemin 出力ファイルへの単一の参照に置き換えます

これによってどのような利点が提供されますか?

最初に、ファイルが usemin ブロックにリストされている順序で連結が行われます。したがって、ある JS モジュール/スクリプトが最初に読み込まれる別のモジュールに依存している場合、HTML 内の順序を簡単に確認して編集することができます。

もちろん、スクリプトでいっぱいのディレクトリを連結することは、usemin なしで実行できますが、これを gruntfile で処理することになります。HTML と gruntfile のどちらが優れていますか? あなたがしている仕事の種類に基づいて、それはあなたの呼びかけです。

次に、HTML がリビジョン ハッシュで更新されるのは素晴らしいことです。ブロック内のファイルがプッシュの間に更新された場合、ハッシュが変更されると、キャッシュが無効になります。

私が遭遇した一般的な問題...および他の人々も遭遇しました:

  • スクリプトのリストが膨大な場合、スクリプトが変更されるたびに HTML を微調整するのは面倒です。私は、SPA フレームワークを使用しているときと、LESS から生成された非常に精巧な CSS ファイルのセットを使用しているときに、これに遭遇しました。どちらの場合も、根本的な原因は別のツール/技術にあると言えますが、usemin はどちらの状況も簡単にしませんでした。

  • usemin ブロック ディレクトリの構文は扱いにくいです。gruntfile と HTML で指定されたディレクトリがあります。意味をなすには、少し遊んでみる必要があります。

  • ファイルの数が非常に少ない場合、Usemin はやり過ぎです...1 つまたは 2 つのように。

要するに、すべてのツールと同様に、 useminが物事をより簡単に、またはより難しくするスイート スポットがあるということです。連結して縮小したいファイルがいくつかある場合は、usemin を使用すると、これを簡単に管理できます。何百ものファイルがある場合は?おそらくuseminは必要ありません。

于 2014-08-21T21:40:33.470 に答える