如何将 Rails + Webpacker 应用程序部署到 Heroku?

Posted

技术标签:

【中文标题】如何将 Rails + Webpacker 应用程序部署到 Heroku?【英文标题】:How to deploy a Rails + Webpacker app to Heroku? 【发布时间】:2018-03-31 08:36:02 【问题描述】:

我正在尝试将 Rails 5 应用程序部署到 Heroku。然而,这是我第一次将 webpack 添加到等式中。

我使用 webpack 在需要时添加了一些 Vue 组件。在我的本地环境中,一切运行良好,但是,在部署到 Heroku 时,事情并没有真正按计划进行。

预编译资产(来自管道和 webpack)完成。但是,当我启动应该运行 Vue 的页面时,在控制台中,当浏览器尝试检索预编译的包/主 javascript 文件时,我看到 404 错误。

这是 Heroku 日志显示的内容:

2017-10-19T10:04:51.947282+00:00 heroku[router]: at=info method=GET path="/packs/main-49ef6f7f11bf1482d113.js" host=appname.herokuapp.com request_id=fce4e051-2880-4566-8e66-5cd3369a819f fwd="125.227.151.206" dyno=web.1 connect=0ms service=72ms status=404 bytes=1744 protocol=https

日志中没有显示其他重大错误。您是否知道如何解决或在哪里寻找更多详细信息?

如果这是一个“愚蠢”的问题,我深表歉意。这是我第一次真正使用 webpack 进行部署。

【问题讨论】:

嗨,你能解决这个问题吗?我有同样的问题:( 【参考方案1】:

原来我的合作开发者将 /public/packs 添加到 .gitignore 中,因此该目录没有推送到 Heroku

【讨论】:

对我来说,我不得不注释掉public/assets,但这是一种解决方法,不一定是解决方案。您不必将所有包都推到源代码控制中,因为它们会弄脏所有东西并且不需要在那里。 Web 服务器应该编译它并为你生成包,所以你不需要发送任何东西。不过,不管用什么都行,哈哈。谢谢你这个聪明的主意!

以上是关于如何将 Rails + Webpacker 应用程序部署到 Heroku?的主要内容,如果未能解决你的问题,请参考以下文章

如何将 Rails 6 中的 JqTree 与 webpacker 集成,树不是函数

Rails 5/6:如何在 webpacker 中包含 JS 函数?

如何在 Rails / Webpacker / React 应用程序中处理图像?

如何在 Rails 6 和 webpacker 中使用 morris.js?

如何在 Rails 中检查 webpacker 版本?

您可以使用 Webpacker 在 Rails 6 应用程序中直接使用 Web3.js 吗?