我已经看到某些Rails CMSE(例如Radiant)具有访问页面时基本上编译Sass的插件。有没有办法在常规的Rails应用程序中执行此操作?这样做吗?基本上,我正在寻找一种方法来删除运行指南针以编译样式表的额外步骤。

有帮助吗?

解决方案

我没有具体使用指南针,但看起来有一个生产标志,所以文件已编译 - 我无法想象他们会在生产中的每个请求中构建它以重新编译,radiant commiles commiles commiles commiles cons in application startup of Application Startup,如果您然后提交这些内容生成的CSS文件不会尝试再次生成Afaik。

http://compass-style.org/docs/tutorials/production-css/

其他提示

SASS和指南针自动与导轨集成。如果您使用的是Rails 3,那么您要做的就是添加 gem "haml" 到你的gemfile和所有 .sass.scss 文件中的文件 public/stylesheets/sass 会被编译到 .css 文件中的文件 public/stylesheets.

根据请求编译?我认为这可能是对性能的打击。在这种情况下,您绝对应该使用缓存策略。因此,仅当它不在缓存中时,它才能编译样式表。

您可以创建一个助手方法 setup_stylesheet 这将需要设置CSS样式表。您在应用程序布局上调用此方法。

setup_stylesheet 将检查CSS样式表是否在高速缓存上,以及是否存在。如果不是,请进行编译。

另一种方法:

您可以设置一个初始评估器,该初始评估将在启动应用程序时呼叫指南针以编译您的Sass样式表。

  • 这样做吗?

会有一个 大量的 在运行时间编译时性能打击。

作为nex3(作者 Sass Gem)指出 另一个论坛, ,无需运行 compass watch.

我强烈建议将以下内容投入生产。RB: Sass::Plugin.options[:never_update] = true - 如果您在Heroku上,这一点尤其重要。 (您也可以在机架文件中执行此操作,您也可以在其中指定 其他选项

嗯,祝你好运

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top