如何运行两个独立的grunt-sass任务

时间:2018-03-28 20:09:09

标签: gruntjs

我有两个文件,我想独立观看和编译sass:

  • 任务sass:A应仅在A中的文件更改
  • 时运行
  • 仅当sass:B中的文件发生更改时才会B

这两项任务都很昂贵。如果没有必要,我不想让它们被执行。

我期待这样的事情:

sass: {
    A: {
        dist: {
            files: {
                'A/main.css': 'A/main.scss'
            }
        }
    },
    B: {
        dist: {
            files: {
                'B/main.css': 'B/main.scss'
            }
        }
    }
},
watch: {
    sass_A: {
        files: 'A/**/*.scss',
        tasks: ['sass:A']
    },
    sass_B: {
        files: 'B/**/*.scss',
        tasks: ['sass:B']
    }
}

但我必须遗漏一些内容,因为我的.css文件未按预期更改。

是否有方法可以运行两个独立的grunt-sass任务?

1 个答案:

答案 0 :(得分:0)

通过以下设置,您应该可以工作。

您需要更改相对路径,以定位文件夹A中的文件和文件夹B中的文件。

但请注意,路径是相对于gruntfile.js

sass: {
    admin: {
        src: ['../scss/admin/style.scss'],
        dest: '../css/admin.min.css'
    },
    front: {
        src: ['../scss/front/style.scss'],
        dest: '../css/front.min.css'
    }
},
watch: {
    admin_scss: {
        files: [
            '../scss/admin/**/*.scss'
        ],
        tasks: [
            'sass:admin',
        ]
    },
    front_scss: {
        files: [
            '../scss/front/**/*.scss'
        ],
        tasks: [
            'sass:front'
        ]
    },
},