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

我用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。

谢谢

尝试使用这种格式来指定源文件和目标文件:

  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 #楼最文件-对象dynamic

你应该使用通用符号:

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

在这种情况下,无论文件名如何,Grunt都会为css文件夹内的所有* .css文件(包括子文件夹)进行编译,并编译为my-style.scss