我有以下目录结构(仅出于说明目的显示相关位):
proj \
\ Gruntfile.js
\ package.json
\ test \ (all my tests are in this folder structure)
\ app \
\ index.html
\ scripts \ (all my scripts are in here)
\ views \ (all views are in here)
\ styles \
\ style.css
\ oldie.css
\ print.css
\ images \
\ hires \ (all high resolution images are here)
\ lowres \ (all low resolution images are here)
我的 Gruntfile.js 文件的指南针部分如下所示:
compass: {
options: {
require: "susy",
sassDir: '<%= my.app %>/styles',
cssDir: '.tmp/styles',
imagesDir: '<%= my.app %>/images',
javascriptsDir: '<%= my.app %>/scripts',
fontsDir: '<%= my.app %>/styles/fonts',
importPath: 'app/components',
relativeAssets: true
},
dist: {},
server: {
options: {
debugInfo: true
}
}
}
<%= my.app %>
决议app
为。我的问题是我无法指定生成的 CSS 文件中的图像应该有以 开头的路径images/
,而不是app/images
像现在这样。
如果我更改imagesDir: '<%= my.app %>/images'
为imagesDir: 'images'
(或将后者添加为imagesPath
选项的值),当 compass 尝试编译时,我会收到以下错误:
在与“lowres/sprites/*.png”匹配的加载路径中找不到文件。您当前的加载路径是:/Users/joachimdyndale/Development/myProject/myapp_joachim/proj/images
我尝试添加一个config: 'compass.rb'
属性并在 compass.rb 文件中有以下内容:
http_images_path = '../images'
http_generated_images_path = '../images'
但是,以上完全没有效果。
所以我的问题是:是否有某种我尚未发现的方法来配置所有这些,以便它既能找到图像又能将正确的路径写入 CSS 文件,或者我是否必须更改我的目录结构才能移动文件夹中的所有内容都上app
一层?我真的很喜欢目前的结构,但我承认这可能是目前 Compass 根本不支持的极端情况。
我正在使用grunt-contrib-compass
grunt 插件。