我有以下文件夹结构:
+ web
+ component
- component.js
- component.scss
- component.css
+ another
- another.js
- another.scss
- another.css
如您所见,我将每个css编译到他的组件文件夹中。
这是我的配置:
grunt.initConfig({
sass: {
dist: {
files: [{
expand: true,
cwd: './',
src: ['web/**/*.scss'],
dest: './',
ext: '.css'
}]
}
},
watch: {
files: ["web/**/*.scss"],
tasks: ['sass'],
options : { spawn: false }
}
});
一切正常,但问题是每次更改scss文件时,它都会编译我的web文件夹中的所有scss。
我想仅编译已更改的scss 。
我还尝试安装grunt-newer并更改手表配置:
watch: {
files: ["web/**/*.scss"],
tasks: ['newer:sass'],
options : { spawn: false }
}
但它现在没有编译任何东西。
ps:我想避免映射sass配置中的每个文件(scss - > css),因为所有文件(同名,同一文件夹)的规则相同,因为我有大量的文件
答案 0 :(得分:0)
我必须删除options : { spawn: false }
,所以我的配置文件现在是这样的:
grunt.initConfig({
sass: {
dist: {
files: [{
expand: true,
cwd: './',
src: ['web/**/*.scss'],
dest: './',
ext: '.css'
}]
}
},
watch: {
files: ["web/**/*.scss"],
tasks: ['newer:sass']
}
});