【问题标题】:Recover foundation files in Compass/Rails在 Compass/Rails 中恢复基础文件
【发布时间】:2013-09-30 11:44:03
【问题描述】:

我彻底检查了我的 CSS,可能已经删除了一些基础文件。

每当我编译带有@import foundation 的任何内容时都会收到错误消息:“找不到要导入的文件或无法读取:基础。”但是,require foundation 似乎有效,foundation.css 服务没有问题。

即使我将require foundation_and_overrides 添加到application.scss,Rails 也会抱怨所需文件末尾的@import foundation

如果我只想使用 Foundation 的类/基本规则,单独通过 require 连接就可以了,但我也需要使用它的 mixins 和变量,为此我需要 @import 才能工作。

我尝试在我的资产目录中运行compass install foundation,但即使在按摩了给我的文件之后,我仍然会遇到相同的“找不到或不可读的导入文件:基础”错误(这次是在生成的 @ 987654332@).

如何让@import foundation 工作?

我在 Rails 3.2.13 上。

来自我的 Gemfile:

gem 'sass-rails'      # version 3.2.9
gem 'compass'         # version 0.12.2
gem 'zurb-foundation' # version 4.2.1

编辑

根据堆栈跟踪,lib/sass/tree/import_node.rb:45 正在引发 SyntaxError。那行看起来像:

paths = @options[:load_paths]

这加强了我的怀疑,即这是一个路径问题,并且 sass gem 根本无法与基础 gem 对话。我不确定如何进一步调查。请帮忙,谢谢!

【问题讨论】:

  • 看似相关的 SO 问题 herehere 供任何感兴趣的人使用。 :)

标签: ruby-on-rails sass zurb-foundation compass-sass


【解决方案1】:

为了取回基础文件,尝试

rails g foundation:install 

应将foundation_and_overrides.scss 添加回您的资产管道

或者如果你不想使用生成器

/*= require foundation */

在 app/assets/stylesheet/application.css 中

@import "foundation_and_overrides";

到 app/assets/stylesheets/amn.scss

对于你问题的第二部分,如果我错了,请纠正我,但我相信 scss 文件是从基础 gem 加载的

【讨论】:

  • 感谢您澄清基础宝石。我的主要问题仍然存在,我已经进行了编辑以澄清。
  • 您是否尝试过将“gem install compass-rails”添加到您的 Gemfile 中,查看 Foundation 文档 (foundation.zurb.com/docs/rails.html),它在 compass-rails 旁边有一条评论“# you need this or you犯错”
【解决方案2】:

嗯,看来我可以通过使用“watch”方法得到我想要的东西。为此,我必须创建config/compass.rb。这是我在里面写的:

require 'zurb-foundation'

http_path = "/"
sass_dir = 'app/assets/stylesheets'
css_dir = 'app/assets/stylesheets'
images_dir = 'app/assets/images'
javascript_dir = 'app/assets/javascripts'

然后,我从我的应用程序根目录运行compass watch

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-11-28
    • 1970-01-01
    • 2014-01-24
    • 2016-03-02
    • 1970-01-01
    • 1970-01-01
    • 2012-12-27
    相关资源
    最近更新 更多