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

0 ruby-on-rails asset-pipeline

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

我用 Gemfile 中的bundle update railswith进行了升级。gem "rails", "~> 6.0.3"我想知道是否有一种方法可以完全删除与资产管道相关的垃圾并将其关闭。

目前,我正在处理一条错误消息,抱怨文件丢失 - app/assets/manifest.js。我一直在寻找的解决方案几乎都是“创建该文件”,但这让我觉得这是尾巴在摇狗。

任何帮助,将不胜感激。

Dav*_*ulo 6

这就是我在项目中移除链轮所做的事情。

  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"
Run Code Online (Sandbox Code Playgroud)
  1. 删除了以下内容config/environments/development.rb
- # 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
Run Code Online (Sandbox Code Playgroud)
  1. 删除了以下内容config/environments/production.rb
- # 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
Run Code Online (Sandbox Code Playgroud)
  1. 删除config/initializers/assets.rb

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