Rails 6:如何禁用 Webpack 并改用 Sprockets
Rails 6: How to disable Webpack and use Sprockets instead
我正在将 ActionMailbox、ActionText 和多个数据库的 Rails 5.2 应用程序迁移到 6.0。但是,我不知道 webpack,而是想使用 Sprockets。
如何从 Rails 6 中正确删除 webpack 并安装 Sprockets? rails new app
立即安装 webpack 文件。有没有办法轻松默认链轮?
Rails (Ruby) 应该是 约定优于配置 ,但是 Webpack (Javascript) 通过添加大量配置和复杂性来取消它。
如果您想在生成新的 rails 应用程序时跳过添加 webpacker gem,请使用 --skip-javascript(因为 Webpacker 是 JavaScript 的默认编译器 Rails 6).
所述
我发现 this link 有帮助,我会在这里交叉发布:
生成新应用时使用选项 --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
如果您使用链轮 4,请将 app/assets/config/manifest.js
更改为:
//= link_tree ../images
//= link application.js
//= link application.css
如果您使用链轮 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 .
在app/views/layout/application.html.erb
中将javascript_pack_tag
更改为javascript_include_tag
我正在将 ActionMailbox、ActionText 和多个数据库的 Rails 5.2 应用程序迁移到 6.0。但是,我不知道 webpack,而是想使用 Sprockets。
如何从 Rails 6 中正确删除 webpack 并安装 Sprockets? rails new app
立即安装 webpack 文件。有没有办法轻松默认链轮?
Rails (Ruby) 应该是 约定优于配置 ,但是 Webpack (Javascript) 通过添加大量配置和复杂性来取消它。
如果您想在生成新的 rails 应用程序时跳过添加 webpacker gem,请使用 --skip-javascript(因为 Webpacker 是 JavaScript 的默认编译器 Rails 6).
所述我发现 this link 有帮助,我会在这里交叉发布:
生成新应用时使用选项 --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
如果您使用链轮 4,请将 app/assets/config/manifest.js
更改为:
//= link_tree ../images
//= link application.js
//= link application.css
如果您使用链轮 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 .
在app/views/layout/application.html.erb
javascript_pack_tag
更改为javascript_include_tag