アセットパイプライン

参考:

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

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

The Asset Pipeline — Ruby on Rails Guides [Official]

Sprockets

参考:

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

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

Sprockets 4

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

参考:

eileen.codes | Rails 5: The Sprockets 4 Manifest

Releases · rails/sprockets – GitHub

manifest.js

参考:

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

eileen.codes | Rails 5: The Sprockets 4 Manifest

Self Hosted Config: Introducing the Sprockets manifest.js

プリコンパイル

参考:

アセットをプリコンパイルする – アセットパイプライン | 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

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

参考:

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

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

image-url

参考:

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

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

SVGファイル

参考:

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

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

Includes in ERB for Rails – Stack Overflow

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

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

minify

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

参考:

Ruby on Rails 4 – 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

public/assets フォルダに一つだけあるべき。rails assets:precompile で生成されて、digest 付きのファイルを参照するために使われる。

参考:

Rails asset pipeline serves old manifests – Stack Overflow

config.assets.debug

参考:

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

Tagged:

コメントを残す

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