1

我正在弄清楚咕噜声和指南针。我正在使用'grunt-contrib-compass'。

当我运行“grunt”并编辑我的 sass 时,grunt 报告:

文件“css/site.sass”已更改。完成,没有错误。

但是,我的目标样式表是空的。

我想我缺少一个配置选项,它告诉 grunt 将 css 文件写入何处。但我一直无法弄清楚如何完成配置。

这就是我所拥有的:

module.exports = function(grunt) {

    grunt.initConfig({
        pkg: grunt.file.readJSON('package.json'),


    compass : {
        dist: {
        options : {
        sassDir: 'sass',
        cssDir: 'css',
        imageDir: 'img',
        fontsDir: 'fonts',
        files : ['sass/*.sass'] ,
        watch : 'true',
        debugInfo: 'true',
        force : 'true'
        }
       }
    },

        watch: {
            sass: {
                files: ['css/*.css', '*.php', 'templates*.php'],
                tasks: ['compass']
            },

        options : {
        livereload: true,
        files: [
            'css/site.css', 'js/*.js', '*.html', 'templates/*.php',
            '*.php', 'assets/images/**/*.{png,jpg,jpeg,gif,webp,svg}'
        ]
        }
        }

    });

    grunt.loadNpmTasks('grunt-contrib-compass');
    grunt.loadNpmTasks('grunt-contrib-watch');
    grunt.registerTask('default',['watch', 'compass']);
}
4

1 回答 1

1

从文档:

此任务要求您安装 Ruby、Sass 和 Compass >=0.12.2。如果您使用的是 OS X 或 Linux,您可能已经安装了 Ruby;在终端中使用 ruby​​ -v 进行测试。确认已安装 Ruby 后,运行 gem update --system && gem install compass 来安装 Compass 和 Sass。

确保你已经这样做了。此外,您没有指定target。也许只需将您的配置更改为此即可。

compass : {
    dist: {
        options : {
            sassDir: 'css',
            cssDir: 'css',
            debug: 'true'
        }
    }
},

编辑:可能是您在手表配置中拥有的内容覆盖了 sass 目标。试试这个:

    watch: {
        sass: {
            files: ['sass/**/*.sass'],
            tasks: ['compass']
        },
        css: {
            options: {
                livereload: true;
            }
            files: ['css/**/*.css'],
            tasks: []
        }
    }
于 2013-10-20T10:32:27.463 回答