【问题标题】:How to point to a sprites folder outside the project directory?如何指向项目目录之外的 sprites 文件夹?
【发布时间】:2013-06-16 08:47:28
【问题描述】:

我在子目录 (/project/sub1/sub2/sub3/sub4/) 中设置了一个指南针项目。 SCSS 文件位于 /project/sub1/sub2/sub3/sub4/css/src,图像位于 /project/sub1/sub2/sub3/sub4/images。

我需要生成一个精灵,其源 PNG 保存在项目外部的目录中 (/project/sub1/sub2/sub3/alternate-sub4/images/global)。我尝试为我的@import 更改路径,但是在编译我的 SCSS 时它一直抛出一个错误,提示“在加载路径中找不到文件..”。

这是我在 _sprites.scss 中的@import:

@import "/../../../alternate-sub4/images/global/*.png";

我的 config.rb 位于 /project/sub1/sub2/sub3/sub4/

http_path = "/"
css_dir = "css"
sass_dir = "css/src"
images_dir = "images"
javascripts_dir = "js"
fonts_dir = "fonts"

有人能告诉我我需要改变什么才能让它工作吗?我尝试了许多不同的方法,包括符号链接和使用 sprite_load_path 指向目录,但似乎没有任何效果。

【问题讨论】:

  • 你试过完整路径吗?
  • 是的,这是我唯一可以开始工作的事情,但是它需要为其他开发人员工作,所以它必须与项目目录相关。
  • 你试过符号链接吗?
  • 我认为你的路径应该类似于 css_dir = "~/css/" OR "/css/"

标签: css sass compass-sass sprite


【解决方案1】:

您可以使用以下配置添加额外的 Compass 查找精灵的路径:

sprite_load_path << '../alternate-sub4/images'

sprite_load_path << File.expand_path('../alternate-sub4/images')

然后在您的 SCSS 文件中,导入 PNG 文件:

@import 'global/*.png';

请参阅configuration reference

注意:
sprite_load_path 指令是 Array,这就是为什么使用 Ruby 运算符 &lt;&lt; 添加路径的原因。

【讨论】:

  • 我已将这一行 "sprite_load_path = "/Volumes/Macintosh \HD/Sites/project/sub1/sub2/sub3/alternate-sub4/images/" " 添加到我的 config.rb 文件中,但是只有定义了完整路径,我才能让它工作。任何想法如何使它相对于项目目录?我试过“../”,但没有骰子。 :(
  • @user2113311 糟糕,我写错了附加路径。请注意,sprite_load_path 指令是 Array,这就是使用 Ruby 运算符 &lt;&lt; 添加路径的原因。
猜你喜欢
  • 2013-01-12
  • 2019-07-27
  • 2020-12-29
  • 2012-10-23
  • 2011-08-12
  • 2012-05-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多