ruby-on-rails - 从 Rails 6 应用程序中完全删除/assets 目录

标签 ruby-on-rails ruby ruby-on-rails-6

我正在设置一个新的 Rails 6 应用程序,并将所有 Assets 移至 webpack。我现在想要删除空的 app/assets 目录,但这样做意味着 Rails 无法启动,因为 Sprockets 找不到我丢失的 manifest.js 文件:

> Expected to find a manifest file in `app/assets/config/manifest.js` (Sprockets::Railtie::ManifestNeededError)
But did not, please create this file and use it to link any assets that need
to be rendered by your app:

Example:
  //= link_tree ../images
  //= link_directory ../javascripts .js
  //= link_directory ../stylesheets .css
and restart your server

我还没有找到任何完全移除链轮的好解决方案。创建一个空的 Assets 目录只是为了保存我不再使用的 list 文件,这似乎不是最佳解决方案。是的,它会起作用,但是如果 Rails 仍然强制我们使用 Sprockets 并拥有 JS list 文件,那么迁移到 webpack 有何意义?

有人成功地完全删除了他们的 Assets 目录吗?感谢您的帮助!

最佳答案

我刚刚从我的应用程序中删除了 app/assets,出现了类似的错误。解决办法:

  1. config/application.rb 中更改此行

来自

require 'rails/all'

require 'rails'
# Pick only the frameworks we 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"
require 'rails/test_unit/railtie'
  • 删除 config/environments/* 中的所有 config.assets.*
  • 删除config/initializers/assets.rb
  • 关于ruby-on-rails - 从 Rails 6 应用程序中完全删除/assets 目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61553162/

    相关文章:

    ruby-on-rails - 如何在 ruby​​ on rails 中为单个用户创建多个角色?

    ruby-on-rails - rails 4.2 : Rake Task to Import CSV Issue

    ruby - 如何创建具有相同对象 ID 的 Ruby 类

    Ruby OpenSSL 非对称加密——使用两个 key 对

    ruby - 使用 Rails 6 和 Heroku 创建环境变量

    ruby-on-rails - 使用管理时添加请求参数时出现不允许的参数错误

    mysql - 无法加载此类文件 -- mysql/mysql_api (LoadError)

    javascript - 提交时从 Rails 表单中删除必需的属性?

    Ruby 2.6.5 和 PostgreSQL pg-gem 段错误

    ruby-on-rails-6 - ActiveStorage::Blob 的未知属性 'service_name'