我们在 Rails 应用程序中使用 React on Rails。当我们部署时, Assets 预编译大约需要 20 分钟。
根据部署日志,大部分时间似乎都花在了预编译 3.3MB 的 JavaScript 文件上。该文件“app.js”连接了由 webpack 生成的两个文件:
# app.js
//= require vendor-bundle (250KB)
//= require app-bundle (3.3MB)
考虑到应用程序包的大小,我们是否应该期待较长的预编译时间?或者,我们可以改进吗?
作为补充说明,我们尝试直接编译 app-bundle,而不是通过 app.js 要求它,并且花费了相同的时间。
更新:
我们最终将客户端代码分解为一个单独的 create-react-app 项目,该项目通过 API 连接到我们的 Rails 应用程序。我们的开发运营和部署管道的复杂性大大降低了——无需真正深入研究这个错误。
请您参考如下方法:
您绝对应该使用 webpacker gem 集成 webpack ( https://github.com/rails/webpacker )
您还可以尝试查看 Shopify 的 Bootsnap gem (https://github.com/Shopify/bootsnap)






