Ruby on rails Rails在3MB react文件上预编译

Ruby on rails Rails在3MB react文件上预编译,ruby-on-rails,reactjs,webpack,asset-pipeline,react-on-rails,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) 考虑到应用程序包的大小,我们是否应该期待较长的预编译时间?或者,我们可以改进吗 作为补充说明,我们尝试直接编

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

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

# app.js

//= require vendor-bundle (250KB)
//= require app-bundle  (3.3MB)
考虑到应用程序包的大小,我们是否应该期待较长的预编译时间?或者,我们可以改进吗

作为补充说明,我们尝试直接编译应用程序包,而不是通过app.js进行编译,并且花费了相同的时间

更新:


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

您肯定应该使用webpacker gem()集成webpack

您也可以尝试检查Shopify的Bootsnap gem
()

20分钟对于一个3mb的js文件来说太长了。你可能是无意中预编译了node_modules文件夹中的东西吗?肯定是app.js文件花了20分钟。我们删除了它,整个部署花了3分钟。然后出现了严重问题。绝对不是预期的行为。也许放弃资产管道,只使用可用于Webpack的优化听起来您需要一些调试帮助。我是React on Rails的创建者。我们有一个支持计划来帮助你。这种方式很难评论,它需要调试,如果没有可复制的样本,很难说什么是错误的