我正在设置一个新的 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
,出现了类似的错误。解决办法:
- 在
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/