我使用了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。
由于
答案 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