Rails预编译在3MB反应文件上死亡

Ben*_*Ben 27 ruby-on-rails asset-pipeline reactjs webpack react-on-rails

我们在Rails应用程序中使用React on Rails.部署时,资产预编译需要大约20分钟.

根据部署日志,似乎大部分时间花在预编译3.3MB javascript文件上.该文件"app.js"连接由webpack生成的两个文件:

# app.js

//= require vendor-bundle (250KB)
//= require app-bundle  (3.3MB)
Run Code Online (Sandbox Code Playgroud)

考虑到app-bundle的大小,我们是否应该期待很长的预编译时间?或者,我们能改进吗?

作为补充说明,我们尝试直接编译app-bundle,而不是通过app.js要求它,并且花费了相同的时间.

更新:

我们最终将客户端代码分解为一个单独的create-react-app项目,该项目通过API连接到我们的Rails应用程序.我们的devops和部署管道的复杂性大大降低 - 没有真正深入挖掘这个错误.

obe*_*nda 2

你绝对应该使用 webpacker gem 集成 webpack ( https://github.com/rails/webpacker )

您还可以尝试检查 Shopify 的 Bootsnap gem ( https://github.com/Shopify/bootsnap )