我正在为 ActionMailbox、ActionText 和多个数据库将 Rails 5.2 应用程序迁移到 6.0。但是,我不知道 webpack,想改用 Sprockets。
如何从 Rails 6 中正确删除 webpack 并安装 Sprockets?rails new app
立即安装 webpack 文件。有没有办法轻松默认链轮?
Rails ( Ruby ) 应该是约定优于配置,但 Webpack ( Javascript ) 通过添加大量配置和复杂性来取消这一点。
我正在为 ActionMailbox、ActionText 和多个数据库将 Rails 5.2 应用程序迁移到 6.0。但是,我不知道 webpack,想改用 Sprockets。
如何从 Rails 6 中正确删除 webpack 并安装 Sprockets?rails new app
立即安装 webpack 文件。有没有办法轻松默认链轮?
Rails ( Ruby ) 应该是约定优于配置,但 Webpack ( Javascript ) 通过添加大量配置和复杂性来取消这一点。
我发现这个链接很有帮助,我会在这里交叉发布:
生成新应用时使用选项 --skip-webpack-install
更改 Gemfile,删除webpacker
,添加:
gem 'sass-rails', '>= 5'
gem 'sprockets', '~> 4'
gem 'sprockets-rails', :require => 'sprockets/railtie'
然后
bundle update sass-rails sprockets # if you are updating
bundle install # or simply install
如果您使用的是 sprockets 4,请更改app/assets/config/manifest.js
为:
//= link_tree ../images
//= link application.js
//= link application.css
如果您使用的是 sprockets 3,请添加config/initializers/assets.rb
:
# Rails.application.config.assets.precompile += %w( application.js )
恢复app/assets/javascripts/application.js
:
//= require rails-ujs
//= require turbolinks
//= require_tree .
更改javascript_pack_tag
为javascript_include_tag
_app/views/layout/application.html.erb
如果您想在生成新的 rails 应用程序时跳过添加 webpacker gem,请使用 --skip-javascript(因为 Webpacker 是 Rails 6 的默认 JavaScript 编译器)。