例如:
在我的Gemfile中有两个宝石:
gem 'spreadsheet', require: false
gem 'stripe', require: false
我在rake任务中使用'spreadsheet'
,很明显require: false
可以提高性能。
但是我的rails应用程序还使用'stripe'
在app文件夹(models,controllers..etc)中进行付款,这种文件夹通常不会被执行。 (在生产服务器上,使用config.eager_load = true
)
为require: false
设置gem 'stripe'
会更好吗?
我直接阅读了这个问题,但无法得到明确答案:Bundler: What does :require => false in a Gemfile mean?
答案 0 :(得分:1)
您将在应用程序启动时获得一些改进 - 应用程序启动时未加载require: false
的宝石。这也有助于测试模式 - 请参阅http://www.andywaite.com/2015/08/15/faster-tdd-in-rails-with-bundlers-require-false/。此外,如果您只需要rake任务中的那些宝石,或者一次性脚本,主应用程序将使用更少的内存,这总是一个很好的奖励。