gpt4 book ai didi

ruby-on-rails-3 - config.assets.precompile 的目的是什么?

转载 作者:行者123 更新时间:2023-12-04 06:45:10 26 4
gpt4 key购买 nike

在 Rails 3.1 中,您必须将希望包含在 Assets 预编译中的文件列入白名单。您必须打开 config/environments/production.rb 并明确包含要预编译的 Assets :

config.assets.precompile += ['somestylesheet.css']

如果你不这样做,你运行 rake Assets :预编译 ,您的 Assets 将不会被复制到公共(public)/ Assets ,并且当找不到 Assets 时,您的应用程序会引发异常(因此在生产中导致 500 错误)。

为什么这是必要的?为什么不是 全部 Assets 自动预编译?

这种当前的方法在部署时会产生额外的代码和压力。将 Assets 列入黑名单/排除 Assets 不是更容易吗?这样事情就可以开箱即用了吗?还有人分享这些感受吗?

最佳答案

大多数 Assets 自动包含在 Assets 预编译中。根据RoR Guide on the Asset Pipeline :

The default matcher for compiling files includes application.js, application.css and all files that do not end in js or css: [ /\w+\.(?!js|css).+/, /application.(css|js)$/ ]



您将使用 config.assets.precompile如果您有其他 Assets 要包括:

config.assets.precompile += ['admin.js', 'admin.css', 'swfObject.js']



或者你可以覆盖它。

关于ruby-on-rails-3 - config.assets.precompile 的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8012434/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com