スタティックリソースファイル接続、圧縮、キャッシュ、プリコンパイルの上位言語を処理するフレームワークAsset Pipeline

1869 ワード

Asset Pipelineは、JavaScriptとCSSの静的リソースファイルを接続、簡略化、または圧縮するためのフレームワークを提供します.Asset Pipelineがあれば、CoffeeScript、Sass、ERBなどの他の言語とプリプロセッサを使用して、これらの静的リソースファイルを作成することもできます.アプリケーションの静的リソースファイルは、他のgemの静的リソースファイルと自動的にマージすることもできます.例えば、jquery-rails gemに含まれるjquery.jsファイルと統合することにより、RailsはAJAX特性をサポートすることができる.
Asset Pipelineはsprockets-rails gemによって実現され、Railsはデフォルトでこのgemを有効にしています.
しゅとくせい
Asset Pipelineの特性の1つは、Webページをレンダリングするときにブラウザが開始するリクエストの回数を減らすために、静的リソースファイルを接続することです.Webブラウザが同時に開始できるリクエストの数は限られているため、より少ないリクエストの数は、アプリケーションのロード速度をより速くすることを意味する可能性があります.
Sprocketsは、すべてのJavaScriptファイルをプライマリ.jsファイルに接続し、すべてのCSSファイルをプライマリ.cssファイルに接続します.後述するように、接続ファイルを必要に応じてカスタマイズできます.本番環境では、Railsは各ファイル名にSHA 256フィンガープリントを挿入し、Webブラウザでファイルをキャッシュします.ファイルの内容を変更すると、Railsはファイル名の指紋を自動的に変更し、既存のキャッシュを無効にします.
Asset Pipelineの特性の2つは、静的リソースファイルを簡略化または圧縮することです.CSSファイルの場合、スペースとコメントが削除されます.JavaScriptファイルでは、より複雑な処理を行うことができます.組み込みオプションから処理方法を選択したり、処理方法をカスタマイズしたりすることができます.
Asset Pipelineの特徴の3つは、より高度な言語で静的リソースファイルを作成し、プリコンパイルによって実際の静的リソースファイルに変換できることです.デフォルトでサポートされている高度な言語は、CSSを記述するためのSass、JavaScriptを記述するためのCoffeeScript、およびERBです.
コメント:
sprockets:(sprockets|RubyGems.org)Sprocketsは、JavaScriptファイルの相互依存関係をチェックし、Webページに導入されたjsファイルを最適化し、不要なjsファイルのロードを回避し、Webアクセスを高速化するRubyライブラリです.これは今rails工事のデフォルトでgemを持っているようで、よく覚えていません.重要性が見えます.しかし、私は使用中にbootstrapのjsライブラリと衝突することがあることを発見しました.主にバージョンの問題です.使用するパートナーがいるので注意してください.
フロントエンドの開発と導入に関する議論:https://www.zhihu.com/question/20790576
Asset Pipeline中国語ネット:https://ruby-china.github.io/rails-guides/asset_pipeline.html
フロントエンドエンジニアリングとパフォーマンスの最適化:https://github.com/fouber/blog/blob/master/201405/01.md#%E9%9D%99%E6%80%81%E8%B5%84%E6%BA%90%E7%AE%A1%E7%90%86%E4%B8%8E%E6%A8%A1%E5%9D%97%E5%8C%96%E6%A1%86%E6%9E%B6
CDNって何?CDNにはどんなメリットがありますか?http://blog.51cto.com/rainy0426/2057364