Je migre une application Rails 5.2 vers 6.0 pour ActionMailbox, ActionText et plusieurs bases de données. Cependant, je ne connais pas le webpack et j'aimerais utiliser Sprockets à la place.
Comment supprimer correctement le webpack de Rails 6 et installer Sprockets? Rails new app
installe les fichiers webpack immédiatement. Existe-t-il un moyen de par défaut pour les pignons facilement?
Rails ( Ruby ) était censé être convention sur la configuration, mais Webpack ( Javascript ) annule cela en ajoutant beaucoup de configuration et de complexité.
Si vous souhaitez ignorer l'ajout de gem Webpacker lors de la génération d'une nouvelle application Rails, utilisez --skip-javascript (puisque Webpacker est le compilateur JavaScript par défaut pour Rails 6).
comme indiqué dans cette référence
J'ai trouvé ce lien utile, je vais transposer ici:
Utilisez l'option --skip-webpack-install lors de la génération d'une nouvelle application
Modifiez Gemfile, supprimez webpacker
, ajoutez:
gem 'sass-Rails', '>= 5'
gem 'sprockets', '~> 4'
gem 'sprockets-Rails', :require => 'sprockets/railtie'
Ensuite
bundle update sass-Rails sprockets # if you are updating
bundle install # or simply install
Si vous utilisez des pignons 4, modifiez app/assets/config/manifest.js
à:
//= link_tree ../images
//= link application.js
//= link application.css
Si vous utilisez des pignons 3, ajoutez à config/initializers/assets.rb
:
# Rails.application.config.assets.precompile += %w( application.js )
Restaurer app/assets/javascripts/application.js
:
//= require Rails-ujs
//= require turbolinks
//= require_tree .
Changement javascript_pack_tag
à javascript_include_tag
dans app/views/layout/application.html.erb