使用 sass 和 autoprefixer 为 grunt 任务设置一个目标或多个文件?

Setting a target or multiplefile for a grunt task with sass and autoprefixer?

我正在为任务设置一个 grunt 文件。我的目标是从 sass 文件 (scss) 创建一个 css 文件,并为所有需要的属性添加自动前缀。最初我使用了专有的多文件,但它没有用,所以现在我使用的是工作正常的目标专有,但我的问题是,即使我以同一个文件为目标,它也会在我的文件夹中创建另一个文件放我所有的 sass 个文件。

到目前为止我的文件如下:

module.exports = function (grunt) {

    grunt.initConfig({

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

        sass: {
            dev: {
                options: {
                    style: 'expanded',
                    sourcemap: 'none',
                },
                files: {
                    '../style.css': 'scss/style.scss'
                }
            },
            dist: {
                options: {
                    style: 'compressed',
                    sourcemap: 'none',
                },
                files: {
                    '../style-min.css': 'scss/style.scss'
                }
            }
        },
        autoprefixer: {
            options: {
                browsers: ['last 6 versions']
            },
            target: {
                expand: true,
                flatten: true,
                src: '../style.css',
                dest: ''
            }
        },
        watch: {
            css: {
                files: '**/*.scss',
                tasks: ['sass', 'autoprefixer']
            }
        },
    });

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

我的目标是为我的所有 css 文件设置一个全局任务,如下所示:

target: {
    expand: true,
    flatten: true,
    src: '*.css',
    dest: ''
}

但即使我尝试类似的操作也无法正常工作:

target: {
        expand: true,
        flatten: true,
        src: '../*.css',
        dest: ''
    }

有人知道为什么吗?

使用 cwd(代表当前工作目录),这是 grunt 查找与 src 中的模式匹配的文件的路径。还要定义 dest 以便它会在同一文件夹中创建目标文件。

target: {
    expand: true,
    flatten: true,
    cwd: '../',
    src: [ '**/*.css' ],
    dest: '../'
}