IDE を使用してバックエンド プログラムを作成する場合、.NET の場合は、通常、プロジェクトがコンパイルされて通過することを確認するために Visual Studio を使用する必要があることは誰もが知っています。プロジェクトがコンパイルされて合格することは、すべてのプログラマーにとって必須の要件です。
しかし、バックエンドプログラマーの多くはフロントエンドについて理解していないことが多いため、WEB プロジェクトに取り組む際にいくつかの問題が発生します。
JavaScript と CSS は静的ファイルであることは誰もが知っています。アドレスが変更されない場合、ブラウザーはこれらのファイルをキャッシュします。つまり、変更が必要なときにキャッシュされます。 JavaScript や CSS ファイルは、たとえバックエンドを変更したとしても、クライアントがそれを見ることができなくなります。これは、現在、ほとんどすべての WEB プログラムが JavaScript に大きく依存しているため、「JS が世界を支配する」時代には受け入れられません。 CSS の使用が必要です。私が経験したプロジェクトでは、長年の経験を持つプログラマーでも、JavaScript や CSS ファイルのバージョンの問題に遭遇しました。たとえば、バグの原因が JavaScript であったため、プログラマーがそれを修正したことがあります。顧客は背景色を変更するように要求しましたが、それを顧客にデプロイするか、デプロイのためにコードを顧客に渡すと、顧客は、この時点ではまだバグが存在すると、プログラマがよく言うことが表示されます。 > 「私のローカルは大丈夫です」 、そして最終的に他の人に助けを求めた後、ブラウザのキャッシュがクリアされていないことがわかり、一部のプログラマーはすぐに顧客に次のように言いました。「ブラウザのキャッシュをクリアするには、Ctrl+F5 を押す必要があります。 」 このようなことを聞くと、照明を消して暗い部屋に取り残されるような気分になります。 まず、Ctrl+F5 を使用している一般ユーザーがどれだけいるでしょうか。 次に、Ctrl+F5 を使用するユーザーは何人いるでしょうか?
では、どうすればよいでしょうか?多くのプログラマは、バージョン番号を追加するだけで、ブラウザがそれを新しいファイルであると認識することを知っていると思います。たとえば、元は http://www.a.com/app.js でした。今後は、アドレスを変更するだけで済みます。 http://www.a.com/app.js?v=1.0 で十分ですしかし、このアクションが手動の場合、基本的にプログラマーは 10 回中少なくとも 5 回は忘れてしまいます。なぜフロントエンド構築が必要なのか
JavaScript と CSS の依存関係の問題
モジュール管理を使用することはできても、CSS が機能しなかったり、JavaScript の特定の変数やメソッドが見つからなかったりすることがよくあります。多くの場合、これは JavaScript または CSS の導入順序が間違っているためです。 RequireJS などがありますが、特に CSS には優れたモジュール管理コンポーネントがないため、多くの場合、依然として別のファイルを導入する必要があります。
その場合、JavaScript と CSS の順序付けの問題を管理するための統一された場所が必要ですが、ビルド ツールを使用すると、そのような問題を大幅に軽減できます。
パフォーマンスの最適化
ファイルのマージ
ファイルの圧縮
すべてのフロントエンド ビルド ツールには、ファイルのマージと圧縮機能があります。
効率の向上
単体テスト
コード分析
たとえば、フロントエンド JavaScript と CSS を参照するために Bower などのサードパーティ ライブラリを使用する必要がある場合、バージョンがアップグレード、追加、削除されると、など、HTML を手動で変更する必要がある場合、前者は時間がかかりますが、後者は省略する方が簡単です。特にデバッグ バージョンと実稼働バージョンを切り替える必要がある場合は、余分な作業が多くなります。フロントエンド ビルド ツールはこれらの問題をうまく解決できます。
フロントエンド構築で最も一般的に使用される関数をいくつかリストしました。手動で行うことを置き換えることができる構築ツールも数多くあると思います。詳細については後ほど説明します。アーティファクト Gulp を使用して、上記の問題を 1 つずつ解決します。