gpt4 book ai didi

ruby-on-rails - 我可以在 Assets 编译后删除 heroku 上的应用程序/ Assets 以减小 slug 大小吗

转载 作者:行者123 更新时间:2023-12-02 17:41:30 26 4
gpt4 key购买 nike

只是一个思考。如果您使用 asset_sync gem 编译 Assets 并且不回退以在运行时编译 sprockets ,您可以使用 .slugignore 从您的 slug 中删除 app/assets 文件夹以减小 slug 大小吗?

我已经测试过,预编译的 Assets 不再使用 Assets 管道提供服务。 Rails 必须寻找 app/assets 文件夹,如果它不可用,就会变得脾气暴躁,默认为按需编译。

有没有人尝试过这种效果?我发现的唯一一件事是在 slug-ignore 之后调用构建返回,所以如果我使用涡轮 sprockets ,它可能会破坏部署之间的缓存。

最佳答案

this post通过后期预编译任务对此有一个很好的解决方案。我修改了它以删除所有内容,包括应用程序/ Assets 文件。对于某些人来说,这可能有点过激,但这是减少一些麻烦的简单方法。

这使我的 slug 大小减少了 20mb。

Rake::Task["assets:precompile"].enhance do
return "can't run in dev" if Rails.env.development?
puts 'my assets:precompile hook is started!'
["#{Dir.pwd}/public/", "#{Dir.pwd}/app/assets/"].each do |dir_path|
records = Dir.glob("#{dir_path}**/*")
records.each do |f|
if f =~ /.*.png$/ or
f =~ /.*.jpg$/ or
f =~ /.*.gif$/ or
f =~ /.*.ico$/ or
f =~ /.*.eot$/ or
f =~ /.*.svg$/ or
f =~ /.*.woff$/ or
f =~ /.*.ttf$/ or
f =~ /.*.otf$/ or
f =~ /.*.css$/ or
f =~ /.*.js$/ or
f =~ /.*.sass$/ or
f =~ /.*.css$/ or
f =~ /.*.scss$/ or
f =~ /.*.coffee$/ or
f =~ /.*.wav$/ then
File.delete(f)
puts "removing #{f}"
end
end
puts Dir.glob("#{dir_path}**/*")
end
puts 'my assets:precompile hook is finished!'
end

关于ruby-on-rails - 我可以在 Assets 编译后删除 heroku 上的应用程序/ Assets 以减小 slug 大小吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20059991/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com