Grunt Sass - 将所有Sass文件编译成具有相同名称的CSS

时间:2015-08-11 04:40:15

标签: node.js gruntjs

我使用了Compass,它将所有Sass文件编译成具有相同名称的CSS。例如,my-style.scss将成为my-style.css

我找到的所有关于 grunt-sass 的教程逐一映射文件名,手动如:

sass: {
  dist: {
    options: { style: 'compressed' },
    files: { 'css/my-style.css': 'sass/my-style.scss' }
  } 
}

有没有办法让它更灵活?因此,每当我有新的Sass文件时,我都不需要更改Gruntfile。

由于

2 个答案:

答案 0 :(得分:7)

尝试使用此格式指定源文件和目标文件:

    sass: {
        src: {
            files: [{
                expand: true,
                cwd: 'source/styles/',
                src: ['**/*.scss'],
                dest: 'destination/styles/',
                ext: '.css'
            }]
        }
    }

其内容为"将*.scss及其子文件夹中与source/styles/匹配的所有文件进行处理,并将其放入destination/styles/,将扩展名更改为.css。另请参阅http://gruntjs.com/configuring-tasks#building-the-files-object-dynamically

答案 1 :(得分:0)

您应该使用通用符号:

sass: {
  dist: {
    options: { style: 'compressed' },
    files: { 'css/*/**.css': 'sass/my-style.scss' }
  } 
}

在这种情况下,无论文件名是什么,Grunt都会搜索css文件夹(包括子文件夹)中的所有* .css文件,并编译为my-style.scss