アセットパイプライン

参考:

アセットパイプライン | Rails ガイド [公式]

Rails Asset Pipeline がうまくいかないときの問題の切り分けかた – Qiita

The Asset Pipeline — Ruby on Rails Guides [Official]

Sprockets

参考:

Documentation for sprockets | RubyDoc.info

Documentation for sprockets-rails | RubyDoc.info

rails/sprockets-rails: Sprockets Rails integration – GitHub

rails/sprockets: Rack-based asset packaging system – GitHub

sprockets/how_sprockets_works.md at master · rails/sprockets – GitHub

sprockets/extending_sprockets.md at master · rails/sprockets – GitHub

概要

参考:

Sprockets の仕組み – Qiita

Sprockets 再考 モダンな JS のエコシステムと Rails のより良い関係を探す – Qiita

Rails は assets に注意しろ – Qiita

Rails Asset の管理についてまとめる – Qiita

Rails Asset / Sprockets 関係 gem 使ったものの感想 | 元フリーエンジニアライフ

image_tag

参考:

image_tag メソッドを使ったイメージタグの作成 | Ruby on Rails入門

<%= image_tag ‘画像ファイル名’ %> で画像を表示 – Qiita

image_tag – ActionView::Helpers::AssetTagHelper | Ruby on Rails API [Official]

image_tag – リファレンス – – Railsドキュメント

image_tag (ActionView::Helpers::AssetTagHelper) – APIdock

How to make your application assets cachable in Rails | makandra dev

Sprockets 4

プリコンパイルするファイルを指定するために manifest.js を使える

参考:

Rails 5: The Sprockets 4 Manifest | eileen.codes

Releases · rails/sprockets – GitHub

manifest.js

参考:

What is the purpose of assets/config/manifest.js? · Issue #29862 · rails/rails – GitHub

Rails 5: The Sprockets 4 Manifest | eileen.codes

Self Hosted Config: Introducing the Sprockets manifest.js | Schneems

プリコンパイル

参考:

アセットをプリコンパイルする – アセットパイプライン | Rails ガイド [公式]

Rails アセットパイプラインのコードリーディング | freedom-man

precompile – sprockets-rails/task.rb at v3.2.1 · rails/sprockets-rails – GitHub

compile – sprockets/manifest.rb at v3.7.2 · rails/sprockets – GitHub

assets_manifest – sprockets-rails/railtie.rb at v3.2.1 · rails/sprockets-rails – GitHub

precompiled_assets – sprockets-rails/railtie.rb at v3.2.1 · rails/sprockets-rails – GitHub

Sprockets::Rails::Task.new(app) – sprockets-rails/railtie.rb at v3.2.1 · rails/sprockets-rails – GitHub

compile_match_filter – sprockets/legacy.rb at v3.7.2 · rails/sprockets – GitHub

logical_paths – sprockets/legacy.rb at v3.7.2 · rails/sprockets – GitHub

ローカルでアセットをプリコンパイルする

参考:

ローカルでプリコンパイルを行なう – アセットパイプライン | Rails ガイド [公式]

set_default_precompile

参考:

set_default_precompile – sprockets-rails/railtie.rb at v3.2.1 · rails/sprockets-rails – GitHub

LOOSE_APP_ASSETS

参考:

LOOSE_APP_ASSETS – sprockets-rails/railtie.rb at v3.2.1 · rails/sprockets-rails – GitHub

require_tree

参考:

ruby on rails – Require tree in asset pipeline – Stack Overflow

asset_path

参考:

ActionView::Helpers::AssetUrlHelper | Ruby on Rails API [Official]

asset_path – リファレンス – – Railsドキュメント

アセットにリンクするコードを書く – アセットパイプライン | Rails ガイド [公式]

image-url

参考:

Rails4 では background:url(“assets/hoge.png”) の書き方は動かない話 – Qiita

CSSとSass – アセットパイプライン | Rails ガイド [公式]

SVGファイル

参考:

Render an Inline SVG in Rails (or Middleman) | Cobwwweb

jamesmartin/inline_svg: Embed SVG documents in your Rails views and style them with CSS – GitHub

How do I display SVG image in Rails? – Stack Overflow

Includes in ERB for Rails – Stack Overflow

font-url

参考:

Rails でカスタムフォントを使う時の指定方法 | 地方でリモートワーク in Iwate

font_path

参考:

font_path – ActionView::Helpers::AssetUrlHelper | Ruby on Rails API [Official]

rails assets:clobber

参考:

Rails4 asset pipeline 関連設定まとめ (Heroku 対応込) – Qiita

assets – Rails のコマンドラインツール | Rails ガイド [公式]

Clear the cache from the Rails asset pipeline – Stack Overflow

Sprockets のキャッシュをクリアする

$ rails tmp:cache:clear

参考:

tmp – Rails のコマンドラインツール | Rails ガイド [公式]

アセットのキャッシュストア – アセットパイプライン | Rails ガイド [公式]

アセットの激遅 Precompile を解決するまでの軌跡 – Qiita

How to clear Sprockets cache? – Stack Overflow

minify

# config/environments/production.rb
config.assets.js_compressor  = Uglifier.new(harmony: true)
config.assets.css_compressor = :sass

参考:

compressor を指定しても、minify されない時の対処法 – Qiita

Rails 4 にアップグレードすると assets:precompile しても minify されない | Shoken Startup Blog

Rails not minifying – Stack Overflow

Uglifier

config.assets.js_compressor = Uglifier.new(harmony: true)

参考:

uglifier とは何をする gem なのか | odaillyjp blog

Rails で ES6 の機能を使うとプリコンパイルが通らない (Uglifier がエラーを吐く) 問題 – Qiita

Rails で ES6 のコンパイルが失敗する場合 | 約束の地

uglifier の ES6 部分におけるエラー | ハッキングバカ

rails assets のコンプレッサにオプションを渡す | このコードわからん

rails + sprockets + uglifier で Copyright を残したまま compress する | ぼっち勉強会

lautis/uglifier: Ruby wrapper for UglifyJS JavaScript compressor – GitHub

Documentation for uglifier | RubyDoc.info

Uglifier::Error: Unexpected token: punc ((). To use ES6 syntax, harmony mode must be enabled with Uglifier.new(:harmony => true) · Issue #127 · lautis/uglifier – GitHub

.sprockets-manifest-*.json

アセット名から生成されたダイジェスト付きファイルを参照するための情報が出力されている JSON 形式のマニフェスト。public/assets フォルダ内に一つだけ置かれているべきもの。rails assets:precompile で生成される。

参考:

Rails asset pipeline serves old manifests – Stack Overflow

config.assets

参考:

config.assets – sprockets-rails/railtie.rb at v3.2.1 · rails/sprockets-rails – GitHub

OrderedOptions – sprockets-rails/railtie.rb at v3.2.1 · rails/sprockets-rails – GitHub

ActiveSupport::OrderedOptions – rails/ordered_options.rb at v5.2.1.1 · rails/rails – GitHub

config.assets.paths

参考:

パスの検索 – アセットパイプライン | Rails ガイド [公式]

“app/assets” – rails/configuration.rb at v5.2.1.1 · rails/rails – GitHub

append_assets_path – sprockets-rails/railtie.rb at v3.2.1 · rails/sprockets-rails – GitHub

config.assets.paths – sprockets-rails/railtie.rb at v3.2.1 · rails/sprockets-rails – GitHub

append_path

参考:

append_path – sprockets-rails/railtie.rb at v3.2.1 · rails/sprockets-rails – GitHub

append_path – sprockets/paths.rb at v3.7.2 · rails/sprockets – GitHub

config.assets.prefix

参考:

Public folder size is huge – Stack Overflow

config.assets.debug

  • true:各ファイルが個別に link タグで呼び出される。プリコンパイル済みファイルが存在しても、ソースが新しければその場で再コンパイルされる。 (development 用)
  • false:エントリーごとに一つのファイルにまとめて一つの link タグで呼び出される。プリコンパイル済みファイルが存在すれば、ソースファイルが更新されていても再コンパイルすることなくプリコンパイル済みファイルを読み込む。 (production 用)

参考:

development 環境下で precompile すると,以降 development で assets が上手く読み込まれない | インターファーム開発部ブログ

Rails アプリで CSS が更新されない… | tamo’s blog

Faster web page requests in Rails development | Art+Logic

Turning Debugging Off – The Asset Pipeline — Ruby on Rails Guides [Official]

What exactly “config.assets.debug” setting does? – Stack Overflow

config.assets.resolve_with

  • :manifest:マニフェストファイルからコンパイル済みファイルを探す
  • :environment:オンザフライでコンパイルする

参考:

config.assets.resolve_with – sprockets-rails/railtie.rb at v3.2.1 · rails/sprockets-rails – GitHub

Documentation outdated: config.assets.resolve_with = %i[ environment ] is the new default · Issue #398 · rails/sprockets-rails – GitHub

How does config.assets.resolve_with work? · Issue #397 · rails/sprockets-rails – GitHub

config.serve_static_files

参考:

404 not found error for assets in rails 4 production enviroment – Stack Overflow

Heroku でアセットをプリコンパイルする

参考:

Heroku 本番環境にて、Asset が正常に反映されない。 – Qiita

Heroku 上の Sprockets キャッシュを削除する – Qiita

Heroku で css が突然読み込まれなくなったので、改善方法を知りたい。| teratail

アセットの再コンパイルが必要か判定する

参考:

How we sped up our asset precompile by removing it – Tanda Product Team – Medium

non-stupid-digest-assets

参考:

alexspeller/non-stupid-digest-assets: Fix the Rails 4 asset pipeline to generate non-digest along with digest assets – GitHub

rake assets:precompile で digest ハッシュ無しのアセットを生成する方法 – Qiita

Inability to compile nondigest and digest assets breaks compatibility with bad gems · Issue #49 · rails/sprockets-rails – GitHub

Non-digested asset names in Rails 4 | Bibliographic Wilderness

Tagged:

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です