Rails 6: How to disable Webpack and use Sprockets instead Rails 6: How to disable Webpack and use Sprockets instead ruby-on-rails ruby-on-rails

Rails 6: How to disable Webpack and use Sprockets instead


I found this link helpful, I will crosspost here:

Use option --skip-webpack-install when generating a new app

Change Gemfile, remove webpacker, add:

gem 'sass-rails', '>= 5'gem 'sprockets', '~> 4'gem 'sprockets-rails', :require => 'sprockets/railtie'

Then

bundle update sass-rails sprockets # if you are updating bundle install # or simply install

If you are using sprockets 4, change app/assets/config/manifest.js to:

//= link_tree ../images//= link application.js//= link application.css

If you are using sprockets 3, add to config/initializers/assets.rb:

# Rails.application.config.assets.precompile += %w( application.js )

Restore app/assets/javascripts/application.js:

//= require rails-ujs//= require turbolinks//= require_tree .

Change javascript_pack_tag to javascript_include_tag in app/views/layout/application.html.erb


If you want to skip adding webpacker gem when generating new rails application, use --skip-javascript (since Webpacker the default JavaScript compiler for Rails 6).

as noted from this reference