我真的很喜欢 padrino 与指南针“正常工作”的方式,但我有几个问题,因为我将要使用 赫罗库 (和他们的 只读文件系统)用于托管

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

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

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

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

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

我注意到 指南针插件.rb (由 padrino 生成器创建)需要“Sass:Plugin::Rack”

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

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

有帮助吗?

解决方案

得到了答案 帕德里诺邮件 修复此问题的列表

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

# right before
Compass.configure_sass_plugin!
Compass.handle_configuration_change! 

这个对我有用

其他提示

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

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

Heroku 最近发表了一篇名为 在 Heroku 上使用指南针 鼓励用户使用 tmp 已编译样式表的目录。

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