我们在 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)


评论关闭
IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!