Итак, у меня есть следующая ситуация.
Когда я использую компас только из CLI, он просто работает и делает именно то, что требуется. Я запускаю compass compile
из той же папки, где находится файл config.rb
(в папке styles
). Он также содержит каталоги sass
и css
.
Здесь мой файл config.rb
:
project_path = '.'
css_dir = "css"
sass_dir = "sass"
images_dir = "../../data/images"
javascripts_dir = "../scripts"
output_style = :compressed
environment = :development
relative_assets = true
Когда я пытаюсь использовать grunt
для этого, я использую следующую конфигурацию в Gruntfile.js
:
compass: {
compile: {
options: {
basePath: 'app/src/styles',
config: 'app/src/styles/config.rb'
}
}
}
Папка app
и Gruntfile.js
расположены на одном уровне.
Когда я запускаю grunt compass
, я вижу следующий вывод:
Running "compass:dist" (compass) task
Nothing to compile. If you're trying to start a new project, you have left off the directory argument.
Run "compass -h" to get help.
Done, without errors.
Если я попытаюсь указать все параметры прямо как:
compass: {
compile: {
options: {
basePath: 'app/src/styles',
sassDir: 'app/src/styles/sass',
cssDir: 'app/src/styles/css',
imagesDir: 'app/data/images'
}
}
}
Выполняет эту задачу, но папка .sass-cache
создается на уровне Gruntfile.js
.
Поэтому я предполагаю, что существует некоторая проблема с параметром basePath
конфигурации.
Я что-то делаю неправильно?
ИЗМЕНИТЬ:
Единственный способ, которым я смог заставить его работать, как и предполагалось, перемещает файл config.rb
на уровень Gruntfile.js
и задает в нем следующие параметры:
project_path = 'app/src/styles'
css_dir = "css"
sass_dir = "sass"
images_dir = "../../data/images"
javascripts_dir = "../scripts"
output_style = :compressed
environment = :development
relative_assets = true
Также я удалил все параметры из "Gruntfile.js", которые относятся к этой задаче. Все еще не уверен, что происходит здесь.