【问题标题】:Error compiling CSS asset (Compass + Sass + Heroku)编译 CSS 资源时出错(Compass + Sass + Heroku)
【发布时间】:2012-10-12 16:14:37
【问题描述】:

我有一个使用 Compass 和 Saas 在 Heroku 上运行的网站,运行良好(在推送到 Heroku 时编译资产似乎没问题)。

我在 assets 中添加了一个新文件夹来命名其他样式,就像这样

/app/assets/stylesheets/site/site1.css
/app/assets/stylesheets/site/site2.css
/app/assets/stylesheets/site/common/base.css.saas
/app/assets/stylesheets/site/site/site1.css.saas
/app/assets/stylesheets/site/site/site2.css.saas
...

问题是当我访问使用site1.css 样式的页面时,我收到以下错误

Error compiling CSS asset
Sass::SyntaxError: File to import not found or unreadable: ../compass/css3/text-shadow.
Load path: /app
  (in /app/app/assets/stylesheets/site/common/base.css.sass)

  /app/app/assets/stylesheets/site/common/base.css.sass)

错误所指的行是这个

/app/assets/stylesheets/site/common/base.css.sass
@import "../compass/css3/text-shadow"

我尝试了"../compass/css3/text-shadow" 和"compass/css3/text-shadow"。在这两种情况下,我都遇到了同样的错误。

知道如何解决这个问题吗?

【问题讨论】:

  • 您使用的是 --watch 命令吗?如果是这样,您可以将其包含在您的问题中吗?你还在看目录还是单个文件?
  • 出于好奇。为什么你的扩展使用 .css.sass 而不是 .scss?
  • @Kris watch 命令的目的是什么,应该在哪里使用?
  • 我更喜欢不带括号的旧语法。
  • 我不太熟悉 Heroku 的环境是如何设置的。但是为了将你的 SASS 编译成 CSS,它们应该是一个 watch 命令来监视你的 SASS 文件。每次更新 SASS 文件时,它都会编译并输出为 CSS...

标签: ruby-on-rails heroku sass compass-sass


【解决方案1】:

解决了。

我需要在production.rb 文件中指定要编译的附加文件

config.assets.precompile +=
  Dir["#{Rails.root}/app/assets/stylesheets/site/site/*.*"].collect {|s| "site/" + File.basename(s).gsub(/.scss|.sass/, '') }

现在工作正常。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-02-14
    • 2015-03-26
    • 1970-01-01
    • 2015-07-30
    • 1970-01-01
    相关资源
    最近更新 更多