28

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

4

1 回答 1

2

您绝对应该使用 webpacker gem ( https://github.com/rails/webpacker )集成 webpack

您也可以尝试检查 Shopify 的 Bootsnap gem ( https://github.com/Shopify/bootsnap )

于 2018-04-24T22:06:14.043 回答