我们在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和部署管道的复杂性大大降低了 - 没有真正深入研究这个错误。
答案 0 :(得分:1)
您绝对应该使用webpacker gem(https://github.com/rails/webpacker)
集成webpack您也可以尝试查看Shopify的Bootsnap gem (https://github.com/Shopify/bootsnap)