如何防止 Compass 使用 Grunt 输出 .sass-cache 文件夹

How do I prevent Compass from outputting .sass-cache folder using Grunt

我有一个自动生成的 .sass-cache 文件夹。试图弄清楚如何完全不让它生成它。更清楚地说,我不想要 .sass-cache 文件夹。

我尝试了几种方法,但似乎无法阻止它生成。

尝试了以下几种方法:

这是我的手表正在做的事情:

module.exports = function (grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),

watch: {
    scripts: {
        files: ['assets/js/*.js'],
        tasks: ['concat', 'uglify', 'copy', 'clean'],
        options: {
            spawn: false
        }
    },
    scss: {
        files: ['assets/scss/*.scss'],
        tasks: ['compass', 'cssmin'],
    }
},

稍后,这是 Compass 正在做的事情和我的任务片段:

compass: {
    development: {
        options: {
            config: './config.rb',
            sassDir: 'assets/scss',
            cssDir: 'assets/css'
        }
    }
},

clean:{
    build: {
    }
}
});
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-contrib-less');
grunt.loadNpmTasks('grunt-contrib-compass');
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.loadNpmTasks('grunt-contrib-cssmin');
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-copy');
grunt.loadNpmTasks('grunt-contrib-clean');
grunt.registerTask('default', ['watch']);
grunt.registerTask(
    'build',
    'Compiles all the assets and copies the files to the build directory.',
    ['less', 'compass', 'cssmin', 'concat', 'uglify', 'copy', 'clean']
);
};

这是我在配置中尝试的内容。

if File.file?( './.nosasscache' )
    asset_cache_buster = :none
    cache = false # Uncomment to disable cache.
end

config.rb 中设置 cache = false 应该就足够了。您可以尝试禁用所有缓存:

asset_cache_buster = :none
cache = false

如果这不起作用,您可以随时 运行 彻底删除文件夹。(参见 link)

https://github.com/gruntjs/grunt-contrib-compass#clean

如果您是 运行 Sass 来自命令行,您可以添加 --no-cache 标志:

sass --no-cache input.scss output.css