0

可能重复:
Rails 3.1 资产预编译

我最近一直在为使用 Rails 3.1 和 Ruby 1.9.2 构建的应用程序而苦苦挣扎。

我的问题是,有时我将特定的 JS 文件添加到系统中,但是当我将其推送到 Heroku 时,我会看到“yourfile.js 未预编译”错误。

config.assets.precompile我通过将我的文件添加到我的文件中来解决这个问题application.rb。但是有没有办法使这个过程自动化?我目前有很多js文件,可能会添加更多。有没有可用的宝石?也许我缺少一些配置?

4

1 回答 1

0

您应该将这些文件添加到 application.js 并包含在每个页面上。

在某些页面上是否不需要它并不重要;如果服务器设置正确,则 application.js 文件将被浏览器缓存,并且不会在用户浏览站点时再次下载。第二个优点是你的 js 文件可以被透明代理缓存在某处,从而降低带宽成本,并加快代理另一端的人的响应时间。

如果您只想根据需要包含文件,则必须将它们包含在预编译数组中 - 这是预编译任务知道使它们在生产清单中可用的唯一方法。

在实践中,您可以在 application.js 中包含许多页面共有的 js,如果一页有大量 js,则仅将其放在该一页上。

于 2012-04-25T20:29:42.460 回答