Grunt + Compass在httpPath中存在差异

时间:2015-01-21 05:34:02

标签: javascript node.js gruntjs grunt-contrib-compass

我是Grunt的新手 - 到目前为止喜欢它(再见Codekit) - 但我有一个问题,任何罗盘url助手的输出(image-url(),font-url( ))包含不正确的路径。这是我的grunt文件;

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认为在我的项目中的位置之间似乎存在一些差异,但我不确定如何解决这个问题。

目前,当我运行指南针时,我收到了很多警告,告诉我无法找到图像和字体(它在错误的目录中查找),但是一切都在洗好了......

任何人都可以给我一些指导,告诉我在哪里可以找出出现这种差异的原因吗?

0 个答案:

没有答案