gpt4 book ai didi

ruby-on-rails - Rails 3.1 Assets 管道 - 缺少公共(public)/ Assets 中的文件 - 为什么这不是默认值?

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

今天下午我将升级后的 Rails 2.3.x -> 3.1 (rc4) 应用程序部署到我们的测试环境后,我们所有的样式表和 JavaScript 文件都返回 404 错误。我们已经将 rake assets:precompile 任务添加到我们的部署后脚本中,并且需要一段时间来确定为什么 assets 文件夹没有我们预期的预编译文件。

最后,文件没有被编译,因为默认情况下显然只有 application.css 和 application.js(+ 非 JS/CSS 文件)被处理。

我们需要更改以下配置值,如下所示:

config.assets.precompile += %w( *.js *.css )

问题:为什么这不是默认值?

我本来希望任何不需要作为 list 文件处理的东西都会被复制到公共(public)/ Assets 中。我在 Assets 管道上读到的大部分内容本质上是“将您的 Assets 粘贴到应用程序/ Assets 中,配置 list 文件,它应该可以正常工作”。由于 assets:precompile 任务没有吐出任何关于它正在做什么的信息,因此需要一段时间才能确定它只是没有查看我们认为它会查看的文件。

有什么理由说明这对于预编译配置来说不是一个好的值(value)吗?

谢谢!

最佳答案

这个想法是让你的所有 JavaScript 和 CSS 总是一次性加载,而不是在你移动时加载点点滴滴。这样,您始终可以加载并准备好使用“世界”,而不必在这里和那里包含一大堆单独的文件。

这是一个更大的“预先”负载,但是浏览器应该继续从缓存中加载所有 javascript。因此,由于所有内容都已缓存并准备好在第一个请求之后进行,因此站点的感知速度应该会加快。

这是一个有争议的决定,包含在 Rails 中,但默认包含 CoffeeScript 也是如此。 Rails 一直是一个固执己见的框架。

关于ruby-on-rails - Rails 3.1 Assets 管道 - 缺少公共(public)/ Assets 中的文件 - 为什么这不是默认值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6415449/

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