Grunt + Compass с расхождениями в httpPath
Я новичок в Grunt - люблю его до сих пор (пока, пока Codekit) - но у меня возникла проблема, когда вывод любых помощников по компасу (image-url(), font-url()) содержит неверный путь. Вот мой gruntfile;
module.exports = function (grunt) {
grunt.initConfig(
{
pkg : grunt.file.readJSON('package.json'),
compass : {
dev : {
options : {
httpPath : '/',
sassDir : 'scss/scss',
cssDir : 'css/compiled',
imagesDir : 'images',
javascriptsDir : 'js',
fontsDir : 'fonts',
outputStyle : 'nested',
relativeAssets : true
}
}
},
cssmin : {
dev : {
files : {
'css/min/ctips-global.min.css' : [
'css/compiled/global/base.css',
'css/compiled/global/header.css',
'css/compiled/global/footer.css',
'css/compiled/global/navigation.css',
'css/compiled/global/entry-content.css',
'css/compiled/global/widgets.css',
'css/compiled/global/animations.css'
]
}
}
},
uglify : {
options : {
mangle : false
},
dev : {
files : {
'js/min/modernizr-latest.min.js' : ['js/vendor/modernizr/modernizr-latest.js']
}
}
},
watch : {
css : {
files : ['scss/scss/**', 'Gruntfile.js'],
tasks : ['compass', 'cssmin'],
options : {
nospawn : true
}
},
js : {
files : ['Gruntfile.js'],
tasks : ['uglify']
}
},
concurrent : {
options : {
logConcurrentOutput : true
},
dev : {
tasks : ['watch:css', 'watch:js']
}
}
});
grunt.loadNpmTasks('grunt-concurrent');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-contrib-cssmin');
grunt.loadNpmTasks('grunt-contrib-compass');
grunt.registerTask('default', ['compass', 'cssmin', 'uglify']);
grunt.registerTask('dev', ['concurrent:dev']);
};
Когда я запускаю 'grunt dev', Grunt запускается без каких-либо предупреждений - указывающих на то, что он может найти все необходимые ресурсы - но на выходе помощников по компасу url всегда отсутствует каталог, в котором находится файл gruntfile.
Когда я добавляю каталог следующим образом...
...
options : {
httpPath : '/',
sassDir : 'scss/scss',
cssDir : 'css/compiled',
imagesDir : 'mydirectory/images',
javascriptsDir : 'js',
fontsDir : 'mydirectory/fonts',
outputStyle : 'nested',
relativeAssets : true
}
...
... полученный результат правильный, но grunt выдает серию предупреждений о том, что он не может найти ресурсы. Пример ошибки следующий:
WARNING: 'Brown-Regular.eot' was not found (or cannot be read) in /Applications/MAMP/htdocs/website.com.au/website/content/themes/mydirectory/mydirectory/fonts
Так что, похоже, существует некоторое несоответствие между тем, где, по мнению компаса, находится httpPath, и тем, где Grunt считает его в моем проекте, но я не уверен, как это исправить.
В настоящее время, когда я запускаю Compass, я получаю много предупреждений о том, что изображения и шрифты не могут быть найдены (это выглядит в неправильном каталоге), но все идет хорошо в стирке...
Кто-нибудь может дать мне какое-то руководство о том, где я мог бы посмотреть, чтобы выяснить, почему происходит это несоответствие?