とすれば
- CDNは、良いこと、彼らが近いクライアントにリソースを提供することができますので、クライアントはそれらをキャッシュすることができ、あなたは、あなた自身のサーバーの負荷を軽減することができます。
- 最近のブラウザでは、サブリソースの整合性(SRI)のおかげで、サードパーティのサーバーからリソースをロードしてもセキュリティが低下しません。
- 国によってはCDNがダウンまたはブロックされている場合があり、オフラインでの開発時には利用できません1。
CDNを使用するだけでなく、CDNを使用できないように準備することも魅力的だと思います。このブログ投稿では、フォールバックを提供するためのさまざまなアプローチを紹介しています。Basicの例を見ると、jQueryとBootstrapだけにフォールバックを提供するためのかなり多くの定型コードが既に含まれていることがわかりますが、好まれたソリューションはFallback.jsの使用を提案しています。 。同様に、トピックに最も関連するSOの質問は、jQueryのフォールバックを提供することだけです。
ただし、ほとんどの実際のプロジェクトでは、5つ以上のjs / cssリソースがあると予想されるため、それらすべてのフォールバックを提供するために厄介なボイラープレートを繰り返す必要はないはずです。さらに、リソースを追加または更新するたびに、次のことを行う必要があります。
- CDNリンクを更新する
- 手動でダウンロードするか、npm / bower configのバージョンを変更して、ローカルフォールバックコピーを更新します
- フォールバックへのリンクを更新します
- SRIハッシュを更新する
一方、Ideal Worldでは、1つの構成ファイルでリソースを追加/更新し、他のすべてのステップを自動的に実行します(そして、更新が何かを壊すかどうかを確認するテストを実行します)。
これを達成するための確立されたワークフローは既にありますか?
それとも、CDN、特にSRIはまだ新しいのですか?
または、ほとんどの人は単にCDNリソースのフォールバックを提供することを気にしませんか?
1. CDNに依存しないdevビルドを作成することもできますが、これもフォールバックの一種であると考えています。
Fallback.js
、それがためにメンテナンスされていないもう完璧に動作しますか? ソフトウェアが既に機能していれば、5分ごとに変更する必要はありません。