проблемы с компасом импорта спрайтов - PullRequest
1 голос
/ 02 февраля 2012

Я смущен тем, как работает структура каталогов. Например, мой как:

--compass
    --css
    --images
        --frontSprite
            Images
    -sass
        --_base.scss
        --advertiser.scss
    config.rb

Когда я пытаюсь импортировать мои изображения, я использую:

@import "frontSprite/*.png";

в моем _base.scss, но это вызывает у меня ошибку, которая, по моему мнению, связана с неправильным поиском каталога. Есть предложения?

Ответы [ 3 ]

2 голосов
/ 07 февраля 2012

Ну, правильная структура каталогов зависит от того, что вы установили в своем config.rb.Должно выглядеть так:

images_dir = "images"
http_images_path = "/this/path/is/rendered/in/the/css/file"

images_dir указывает компасу, где находятся изображения (относительно config.rb), а http_images_path определяет, что фактически отображается в CSS-выводе.

Для отладки пути попробуйте команду compass sprite "images/frontSprite/*.png" (это сгенерирует вывод спрайта css) из каталога компаса.

Sidenote: Когда вы работаете сследует рассмотреть возможность установки масляного png, это значительно ускорит процесс генерации спрайтов.Это очень просто, просто используйте gem install oily_png, и Compass автоматически обнаружит, что он установлен.

0 голосов
/ 18 октября 2013

У меня была эта проблема с компасом в Windows, и я решил ее, отредактировав этот файл:

C:\Ruby193\lib\ruby\gems\1.9.1\gems\compass-0.12.2\lib\compass\sprite_importer.rb

Измените строку 19:

-      Dir.glob(File.join(path, "**", glob))
+      Sass::Util.glob(File.join(path, "**", glob))

И строку 78:

-        files = Dir[File.join(folder, uri)].sort
+        files = Sass::Util.glob(File.join(folder, uri)).sort

Сохраните и все работает!

Источник: https://github.com/chriseppstein/compass/commit/58babac01b56eddf63bac737f7f781d98f00f6b9 Это старый патч, поэтому мне интересно, почему его нет в последней версии компаса?

0 голосов
/ 28 июня 2013

Если вы используете Symfony и сборку

Перейдите в config.yml и добавьте это в параметры:
assetic.filter.compass.images_dir: %kernel.root_dir%/../src/App/PlayerBundle/Resources/public/assets/img/

...