删除讨厌的资产管道——Rails 6

Remove that pesky asset pipeline -- Rails 6

我正在 Rails 从 5 升级到 6,我遇到了一个问题。我正在更新的应用程序没有资产(或控制器或视图),因为它只是使用 Grape 提供一个简单的 API。我一直 运行 关注围绕资产管道的问题,而不是为了让它工作而添加垃圾,我想完全摆脱它。

我在 Gemfile 中使用 bundle update railsgem "rails", "~> 6.0.3" 进行了升级。想知道有没有什么办法可以彻底清除资产管道相关的垃圾,然后关掉。

目前我正在努力处理抱怨文件丢失的错误消息 -- app/assets/manifest.js。我一直在寻找的解决方案几乎都是“创建那个文件”,但这让我印象深刻。

如有任何帮助,我们将不胜感激。

这就是我在我的项目中所做的删除链轮的工作。

  1. 删除 app/assets 目录。
  2. config/application.rb

我将 require 'rails/all' 替换为以下内容:

 require "rails"
 # Pick the frameworks you want:
 require "active_model/railtie"
 require "active_job/railtie"
 require "active_record/railtie"
 require "active_storage/engine"
 require "action_controller/railtie"
 require "action_mailer/railtie"
 require "action_mailbox/engine"
 require "action_text/engine"
 require "action_view/railtie"
 require "action_cable/engine"
 # require "sprockets/railtie" # This removes sprockets
 require "rails/test_unit/railtie"
  1. 删除了 config/environments/development.rb
  2. 中的以下内容
- # Debug mode disables concatenation and preprocessing of assets.
- # This option may cause significant delays in view rendering with a large
- # number of complex assets.
- config.assets.debug = true
-
- # Suppress logger output for asset requests.
- config.assets.quiet = true
  1. 删除了 config/environments/production.rb
  2. 中的以下内容
- # Compress CSS using a preprocessor.
- # config.assets.css_compressor = :sass
-
- # Do not fallback to assets pipeline if a precompiled asset is missed.
- config.assets.compile = false
  1. 删除config/initializers/assets.rb

我忘记了这个的来源,我刚刚从 GitHub 提交中查看了这个。