代码之家  ›  专栏  ›  技术社区  ›  GerryDevine

Rails 4应用程序在开发和生产过程中的视觉差异

  •  1
  • GerryDevine  · 技术社区  · 11 年前

    我在Centos机器上部署了一个Rails4应用程序。虽然一切看起来都很好,但它看起来与我的开发实例略有不同,因为一切都有点宽,字体等也不那么清晰。这些资产似乎没有任何问题——例如,当我使用chrome开发工具时,没有显示任何错误,当我通过css上的“inspect元素”进行比较时,两个实例完全相同。我看到的唯一区别是,产品上的机身宽度比开发上的更宽(在我当前的屏幕上为2114px比1903px)。该应用程序使用bootstrap 3,并加载了自定义主题,正如我所说,它们似乎都很好地迁移到了生产实例。

    我真的不知道从何处看差异产生的原因(也不知道提供什么文件作为帮助),但我真的很想解决这个问题,因为生产版本看起来有点笨拙。有人有什么想法吗?

    提前感谢

    1 回复  |  直到 11 年前
        1
  •  0
  •   Sean    11 年前

    现在,样式表按以下顺序呈现: Jquery UI->引导3.2->Bootswatch 3.2->Jasney引导3.1

    您的自定义Bootswatch主题具有与传统引导无衬线字体(“Helvetica Neue”、Helvetica、Arial、sans-serif)不同的默认体字体(Georgia、“Times New Roman”、Times、serif),该字体覆盖bootstrap并使字体看起来像打印样式的字体。

    默认的.container类也是如此。自定义bootswap.container宽度大于默认bootstrap.container类。

    我猜您的引导样本库没有加载到本地计算机上,也没有在引导之前加载。因此,您将看到所有默认的引导主题(在我看来,它们看起来更好)。然后,当您将其推到生产环境时,引导后将加载引导样本主题,从而覆盖您在本地计算机上看到的所有良好的引导默认值。

    如果您仍然对它们加载的顺序有问题,请尝试在应用程序/样式表中创建一个css清单文件,将所有css库移动到单独文件中的供应商/资产/样式表,并使用以下约定调用清单文件中的文件:

    /*
    *= require jqueryui
    *= require bootstrap
    *= require bootswatch
    *= require jasney
    */
    

    这样,您可以手动排序预编译的资源。它们将按照您在样式表中包含它们的确切顺序从上到下进行编译**确保在视图或应用程序/views/layouts/application.html.erb文件的顶部包含清单表。(您可能还需要调整production.rb文件)

    有两个想法,希望这有帮助。