Editing .slugignore don't work there, because excluding files begins before all compilation steps on Heroku. But we need to compile these all, move these to S3 and only after that delete these.
I wrote some code into my Rakefile, small script, that deletes all unusable files by extension filter:
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
And one more thing: I use a heroku-deflater gem, which gzips all css and js assets, so I delete all .css and .js files by script but don't delete .css.gz and .js.gz files, because of rails assets checking.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…