编译sass / scss文件以在每个用户页面加载时生成最终的css文件吗?

时间:2016-04-18 12:36:51

标签: ruby-on-rails heroku sass less

我正在使用常用工具(rails rails和rails sass(gem' sass-rails')在Rails应用上创建一个ruby并部署到Heroku。

我是新手,我对scss / sass的理解是:

  • 当我在heroku上部署时,只有.css文件进入生产服务器或每次用户加载主页时,herokus服务器需要转换我的scss文件和$变量来提供" final&# 34; css文件到客户端?

我可以应对更大的编译时间,而在开发模式下不在生产中(我宁愿避免它)。至少我需要知道即使在生产中,下面给出的css也需要去获取scss文件

例:

.brand {
    @include vertical-align(absolute);
    color: $brandColor;
    right: 1em;
}

2 个答案:

答案 0 :(得分:1)

在生产中,资产被预编译,生成2个缩小的文件,一个用于javascript,一个用于css。
在开发过程中,它们会根据每个请求进行预编译,但您可以通过更改development.rb文件中的某些选项来模拟缩小版本。

答案 1 :(得分:0)

Rails将在您的应用程序中使用资产管道。使用app / assets文件夹中的application.css和application.js文件,它将浏览文件' required',并将它们编译为单个文件。

它将从咖啡处理它们 - > JS和SCSS / LESS - > CSS如果这些Gems是您的层次结构的一部分。

您可以使用以下方法检查预编译:

RAILS_ENV=production bin/rake assets:precompile