0

在推送到 Heroku 之前,我们在本地预编译了我们的资产——因此在公共/资产中存在大量文件,这些文件大部分 Heroku 在生产中使用——我们在 0 毫秒的日志中看到了资产编译说明。javascript_include_tag "application"但是,当 Heroku 进入我们的布局标题并尝试重新编译所有 js时,我们会遇到超时错误。

这是注定要发生的吗?我们如何才能让 Heroku 只使用本地编译的资产,而不是继续花费 50 年代再次编译资产?扩大测功机确实有帮助,但这并不能真正解决根本原因。

// 编辑以解释我们如何使用资产管道 //

我们在 app/assets/javascript 中有一个名为 application.js 的文件——这是清单文件,它引用了我们需要加载的所有 javascript。这是一个片段:

//= require js/libs/jquery-1.7.2.min
//= require js/libs/jquery-ui-1.8.21.custom.min
//= require js/libs/jquery.ui.touch-punch.min
//= require js/libs/less-1.3.0.min
//= require js/libs/modernizr-2.5.3.min

这个文件有 55 行。

然后我们javascript_include_tag "application"在 app/views/layouts/application.html.haml 中使用来调用该清单文件。

4

2 回答 2

0

检查您的config/environments/production.rb设置:

config.assets.compile = false
config.assets.initialize_on_precompile = true
于 2013-07-09T10:33:20.543 回答
0

在 Heroku 上使用 Rails 资产管道有多种方法,由于您没有向我们提供有关实施的太多细节,我唯一可以推荐的是阅读以下内容: https ://devcenter.heroku.com/articles/rails-asset -管道

如果您使用精确的实施细节更新问题,我可以尝试提供更多帮助。

于 2013-07-09T08:16:02.333 回答