如果我只将/ assets放在.slugignore中,它们不会使用摘要编译,并且对资产的引用没有指纹,因此不起作用.解决方法 编辑.slugignore不能在那里工作,因为排除文件在Heroku上的所有编译步骤之前开始.但我们需要编译所有这些,将它们移动到S3,然后才删除它们.
我在我的Rakefile(小脚本)中写了一些代码,它通过扩展过滤器删除所有不可用的文件:
Rake::Task["assets:precompile"].enhance do puts 'my assets:precompile hook is started!' dir_path = "#{Dir.pwd}/public/sites-fromfuture-net/" records = Dir.glob("#{dir_path}**/*") records.each do |f| if f =~ /.*.png$/ or f =~ /.*.jpg$/ or f =~ /.*.eot$/ or f =~ /.*.svg$/ or f =~ /.*.woff$/ or f =~ /.*.ttf$/ or f =~ /.*.otf$/ or f =~ /.*.CSS$/ or f =~ /.*.Js$/ or f =~ /.*.wav$/ then file.delete(f) end end # puts Dir.glob("#{dir_path}**/*") puts 'my assets:precompile hook is finished!'end
还有一件事:我使用了一个heroku-deflater gem,它会压缩所有CSS和Js资产,所以我会删除脚本中的所有.CSS和.Js文件但不删除.CSS.gz和.Js.gz文件,因为铁路资产检查.
总结以上是内存溢出为你收集整理的ruby-on-rails – 使用asset_sync(S3 / CDN)将./资产放入.slugignore进行Heroku部署全部内容,希望文章能够帮你解决ruby-on-rails – 使用asset_sync(S3 / CDN)将./资产放入.slugignore进行Heroku部署所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)