所以我有以下情况。
当我从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`中的所有选项。还不确定,这里发生了什么。
答案 0 :(得分:3)
尝试不在Grunt配置中设置basePath,即:
compass: {
compile: {
options: {
basePath: 'app/src/styles',
config: 'app/src/styles/config.rb'
}
}
}
转入:
compass: {
compile: {
options: {
config: 'app/src/styles/config.rb'
}
}
}
并使用--verbose开关(Grunt Compass
)运行grunt compass --verbose
以查看grunt尝试处理的文件。
请注意,您添加到Grunt文件中的选项的任何设置都将覆盖(或扩展)config.rb文件中的设置。
查看此页面:https://github.com/gruntjs/grunt-contrib-compass
以查看有关grunt-contrib-compass的更多信息。他们有关于所有可能选项的信息。
答案 1 :(得分:0)
如果您的项目需要与config.rb不同的基本路径,则可以在config.rb中设置路径(甚至是相对的)
示例config.rb
project_path = "../src/main/webapp/"
http_path = "./"
css_dir = "css"
sass_dir = "../library"
images_dir = "assets/images"
fonts_dir = "assets/fonts"
javascripts_dir = "assets/js"
...
relative_assets = true
示例SCSS
.stylesheet-url {
content:stylesheet-url("style.css");
}
.font-url {
content:font-url("font.woff");
}
.image-url {
content:image-url("image.png");
}
.generated-image-url {
content:generated-image-url("image2.png");
}
CSS示例
.stylesheet-url {
content: url('style.css');
}
.font-url {
content: url('../assets/fonts/font.woff');
}
.image-url {
content: url('../assets/images/image.png');
}
.generated-image-url {
content: url('../assets/images/image2.png');
}
我们在Win7 x64上运行Compass 0.12.latest