我们在 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 和部署管道的复杂性大大降低了——没有真正深入研究这个错误。