我正在学习rails,并使用带有rails的引擎。在生产模式中,rails没有加载编译好的引擎资产,尽管我已经执行了:
$ RAILS_ENV=production bundle exec rake assets:clean assets:precompile如果有人知道这个问题,请帮忙。
我的设置如下:
environment/production.rb
config.cache_classes = true
config.eager_load = true
config.consider_all_requests_local = false
config.action_controller.perform_caching = true
config.serve_static_files = false
config.assets.compile = false
config.assets.digest = true
config.log_level = :debug
config.i18n.fallbacks = true
config.active_support.deprecation = :notify
config.log_formatter = ::Logger::Formatter.new`engine/xxx/lib/xxx/engine.rb
引擎的选择是.可安装的
module Moderna
class Engine < ::Rails::Engine
isolate_namespace xxx
# parent company asset precompile
initializer "xxx.assets.precompile" do |app|
app.config.assets.paths << Rails.root.join("app", "assets", "fonts")
app.config.assets.precompile << %w(
xxx/*.css xxx/fancybox/*.css xxx/skin/*.css xxx/google-code-prettify/*.css
xxx/*.js xxx/flexslider/*.js xxx/google-code-prettify/*.js
xxx/portfolio/*.js xxx/quicksand/*.js
xxx/*.svg xxx/*.eot xxx/*.woff xxx/*.ttf
xxx/customicon/*.svg xxx/customicon/*.eot xxx/customicon/*.woff xxx/customicon/*.ttf
)
app.config.assets.precompile << /\.(?:svg|eot|woff|ttf)\z/
end
end
end发布于 2017-09-14 19:28:16
rails引擎启动指南建议在engine.rb中包括以下内容
initializer "engine_name.assets.precompile" do |app|
app.config.assets.precompile += %w( admin.js admin.css )
end对我来说很管用。
发布于 2016-03-17 17:22:09
我在Rails 4引擎中遇到了同样的问题,我通过在engine.rb中添加以下代码来解决这个问题
Rails.application.config.assets.precompile += ['*.js', '*.css', '**/*.js', '**/*.css', '*.jpg',
'*.png', '*.ico', '*.gif', '*.woff2', '*.eot',
'*.woff', '*.ttf', '*.svg'] 我需要预编译所有资产,以便使用外卡。您可以指定文件。
第二个选项是您可以在主机应用程序上指定config/assets.rb
Rails.application.config.assets.precompile += %w( engine_name/file_name )发布于 2021-04-16 10:15:27
编辑刚刚意识到这个问题有点老了。如果将app/assets/config/my_component_manifest.js文件添加到引擎中,然后使用该文件指定资产入口点,下面的内容将适用于您。
您还可以将它放在engine.rb文件中:
module MyComponent
class Engine < ::Rails::Engine
config.assets.precompile += %w( my_component_manifest.js )
end
endhttps://stackoverflow.com/questions/35990897
复制相似问题