【问题标题】:Remove /assets directory completely from Rails 6 app从 Rails 6 应用程序中完全删除 /assets 目录
【发布时间】:2020-05-02 01:03:39
【问题描述】:

我正在设置一个新的 Rails 6 应用程序并将我的 所有 资产转移到 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

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

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

【问题讨论】:

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


【解决方案1】:

我刚刚从我的应用程序中删除了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'
  1. 删除config/environments/*中的所有config.assets.*
  2. 删除config/initializers/assets.rb

【讨论】:

    猜你喜欢
    • 2019-03-25
    • 1970-01-01
    • 2020-07-07
    • 2016-11-02
    • 1970-01-01
    • 1970-01-01
    • 2018-08-12
    • 1970-01-01
    • 2012-03-13
    相关资源
    最近更新 更多