【问题标题】:How does Rails asset pipeline do preprocessing?Rails 资产管道如何进行预处理?
【发布时间】:2018-02-23 22:54:33
【问题描述】:

在这个blog 中,它说资产管道将从您的应用程序/资产中编译、压缩和预处理您的资产,然后将输出放入public/assets。我不明白下面它说你可以设置一个 Nginx 或 Apache 服务器来为你预处理你的资产,因为它已经输出到public/assets。是不是说你可以选择让额外的服务器如 Apache/Nginx 为你做预处理,而 Rails 服务器做编译/压缩?

bundle exec rake assets:precompile

这将(默认情况下)在您的 public/ 中创建一个资产目录 文件夹。然后它将所有压缩和编译的文件添加到 该目录,以适当的格式和新的摘要 版本。然后,您可以设置 Nginx 或 Apache 来服务这些文件 直接这样 Rails 就不必交付它们(并运行 动态预处理等)本身。

【问题讨论】:

    标签: ruby-on-rails apache nginx asset-pipeline assets


    【解决方案1】:

    我不明白下面说您可以设置 Nginx 或 Apache 服务器来为您预处理资产……

    它没有这么说。它确实说了以下内容:

    然后您可以将 Nginx 或 Apache 设置为服务器 [原文如此] 这些文件...

    预处理服务文件是有区别的。本文档的建议是,如果您使用像 nginx 这样的服务器,您可以将其配置为处理对存在于您的 public/assets 文件夹中的资产的请求。这可以减轻 Rails 应用程序处理这些请求的负担。

    在 nginx 出现之前,Rails 仍然会处理预处理。

    【讨论】:

    • 嗨 Coreyward,作者说的那部分怎么样,“然后你可以设置 Nginx 或 Apache 来直接服务器这些文件,这样 Rails 就不必交付它们(并运行 on- the-fly 预处理等)本身。”
    • @stackjlei 怎么样?
    • 您说它没有说明 Nginx 或 Apache 服务器如何预处理您的资产,但上面的引用说它可以运行即时处理 - 您能解释一下吗?
    • @stackjlei 请仔细阅读。这不是它所说的。
    猜你喜欢
    • 1970-01-01
    • 2011-11-12
    • 2013-05-08
    • 1970-01-01
    • 1970-01-01
    • 2012-02-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多