3

我真的很喜欢 padrino 使用指南针“正常工作”的方式,但我有几个问题,因为我将使用heroku(及其只读文件系统)进行托管

  1. 从表面上看,padrino/compass 组合仅在对 sass 文件进行了更改并且用户访问服务器时才编译 sass。 真的吗?

  2. 如果是这样,那么我是否正确地认为,一旦应用程序处于生产模式,我就不必担心 compass 尝试写入文件系统,因为我不会对我的 sass 文件进行任何更改在服务器上?

  3. 除了对 sass 文件进行更改之外,是否还有其他情况会导致 padrino/compass 写入文件系统?

  4. 如果我在问题 2 中所做的假设是错误的,那么如何防止 padrino/compass 写入文件系统?

Nathan Weizenbaum(以 Sass 闻名)建议我在组合 sinatra、sass、compass 和 heroku 时使用 Sass::Plugin::Rack,但经过深思熟虑,我决定最好的选择(至少满足我的需要)是防止sass 通过链接到我的静态 css 文件而不在我的路由中调用 sass 来进行任何类型的服务器端编译

我注意到compass_plugin.rb(由 padrino 生成器创建)需要“Sass:Plugin::Rack”

直到明天晚上我才能推送到heroku,所以我试图提前了解我可能遇到的任何问题

[我会在 padrino 邮件中问同样的问题]

4

3 回答 3

4

在解决此问题的padrino 邮件列表上得到了答案

if Padrino.env == :production
   Sass::Plugin.options[:never_update] = true
end

# right before
Compass.configure_sass_plugin!
Compass.handle_configuration_change! 

这个对我有用

于 2010-08-25T15:55:46.140 回答
1

我有一个使用 Rails 和 Compass 的新项目,每次我推送到 heroku 时,似乎 compass 都会尝试写入文件系统。每次更新后访问该页面时,我都会收到“我们很抱歉,但出了点问题”的警告。

尽管所有 css 文件都应该已经存在,但还是会发生这种情况。路过怪。

于 2010-08-16T14:41:11.420 回答
1

Heroku 最近发表了一篇名为在 Heroku 上使用 Compass的博客文章,鼓励用户使用该tmp目录来编译样式表。

于 2011-03-26T14:09:59.280 回答