Grunt Sass - 将所有 Sass 文件编译成同名的 CSS
Grunt Sass - Compile all Sass files into CSS with the same name
我使用了 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: {
dist: {
options: { style: 'compressed' },
files: { 'css/*/**.css': 'sass/my-style.scss' }
}
}
在这种情况下,Grunt 将查找 css
文件夹(包括子文件夹)内的所有 *.css 文件,而不考虑文件名,并编译为 my-style.scss
尝试使用这种格式来指定源文件和目标文件:
sass: {
src: {
files: [{
expand: true,
cwd: 'source/styles/',
src: ['**/*.scss'],
dest: 'destination/styles/',
ext: '.css'
}]
}
}
这表示“获取 source/styles/
及其子文件夹中与 *.scss
匹配的所有文件,处理它们并将它们放入 destination/styles/
,将扩展名更改为 .css
。参见还有 http://gruntjs.com/configuring-tasks#building-the-files-object-dynamically
我使用了 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: {
dist: {
options: { style: 'compressed' },
files: { 'css/*/**.css': 'sass/my-style.scss' }
}
}
在这种情况下,Grunt 将查找 css
文件夹(包括子文件夹)内的所有 *.css 文件,而不考虑文件名,并编译为 my-style.scss
尝试使用这种格式来指定源文件和目标文件:
sass: {
src: {
files: [{
expand: true,
cwd: 'source/styles/',
src: ['**/*.scss'],
dest: 'destination/styles/',
ext: '.css'
}]
}
}
这表示“获取 source/styles/
及其子文件夹中与 *.scss
匹配的所有文件,处理它们并将它们放入 destination/styles/
,将扩展名更改为 .css
。参见还有 http://gruntjs.com/configuring-tasks#building-the-files-object-dynamically