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

时间:2018-04-07 20:47:32

标签: ruby-on-rails reactjs webpack asset-pipeline 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)

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

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

更新:

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

1 个答案:

答案 0 :(得分:1)

您绝对应该使用webpacker gem(https://github.com/rails/webpacker

集成webpack

您也可以尝试查看Shopify的Bootsnap gem (https://github.com/Shopify/bootsnap